package com.wust.twofragrement;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
/**
* ClassName: OneFragrement <br/>
* Description: <br/>
* date: 2021/5/27 16:26<br/>
*
* @author yiqi<br />
* @email:1820762465@qq.com
* @QQ:1820762465
* @since JDK 1.8
*/
public class TwoFragrement extends Fragment {
private TextView tv_show_text;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragrement_two, null);
tv_show_text = view.findViewById(R.id.tv_show_text);
return view;
}
//第二步:在第二个fragment里公开一个修改自身TextView的方法
public void setText(String str){
tv_show_text.setText(str);
}
}
MainActivity的java代码
package com.wust.twofragrement;
import androidx.fragment.app.FragmentActivity;
import android.os.Bundle;
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//第一步,获取 Fragrement
OneFragrement oneFragrement = new OneFragrement();
TwoFragrement twoFragrement = new TwoFragrement();
//第二步,占坑
getFragmentManager().beginTransaction().replace(R.id.fl_one,oneFragrement,"one").commit();
getFragmentManager().beginTransaction().replace(R.id.fl_two,twoFragrement,"two").commit();
}
}
- 方法二:使用回调
oneFragment的java代码
package com.wust.twofragrement;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import android.app.Fragment;
import android.widget.Button;
import android.widget.EditText;
/**
* ClassName: OneFragrement <br/>
* Description: <br/>
* date: 2021/5/27 16:26<br/>
*
* @author yiqi<br />
* @email:1820762465@qq.com
* @QQ:1820762465
* @since JDK 1.8
*/
public class OneFragrement extends Fragment {
private Button btn_set_text;
private EditText et_input_text;
private onReceiveData mOnReceiveData;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragrement_one, null);
et_input_text = view.findViewById(R.id.et_input_text);
btn_set_text = view.findViewById(R.id.btn_set_text);
btn_set_text.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//第三步:调用
mOnReceiveData.receiveData(et_input_text.getText().toString());
}
});
return view;
}
//第一步:定义接口
public interface onReceiveData{
void receiveData(String s);
}
//第二步:暴露接口
public void setOnReceiveDataListener(onReceiveData onReceiveData){
this.mOnReceiveData = onReceiveData;
}
}
twoFragment的java代码
package com.wust.twofragrement;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
### 面试复习路线,梳理知识,提升储备
自己的知识准备得怎么样,这直接决定了你能否顺利通过一面和二面,所以在面试前来一个知识梳理,看需不需要提升自己的知识储备是很有必要的。
关于知识梳理,这里再分享一下我面试这段时间的复习路线:(以下体系的复习资料是我从各路大佬收集整理好的)
**[CodeChina开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](
)**
* **架构师筑基必备技能**
* **Android高级UI与FrameWork源码**
* **360°全方面性能调优**
* **解读开源框架设计思想**
* **NDK模块开发**
* **微信小程序**
* **Hybrid 开发与Flutter**
![](https://www.icode9.com/i/ll/?i=img_convert/1379668d6f47b8ccc148f457a7ec2804.png)
知识梳理完之后,就需要进行查漏补缺,所以针对这些知识点,我手头上也准备了不少的电子书和笔记,这些笔记将各个知识点进行了完美的总结:
![Android开发七大模块核心知识笔记](https://www.icode9.com/i/ll/?i=img_convert/78c0c9212054e56ecd5ff5d3b1a3ac0a.png)
**《960全网最全Android开发笔记》**
![](https://www.icode9.com/i/ll/?i=img_convert/998108ff340d5d5adf80571e3455d001.png)
**《379页Android开发面试宝典》**
历时半年,我们整理了这份市面上最全面的安卓面试题解析大全
包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。
如何使用它?
1.可以通过目录索引直接翻看需要的知识点,查漏补缺。
2.五角星数表示面试问到的频率,代表重要推荐指数
![](https://www.icode9.com/i/ll/?i=img_convert/a96339d11bb41086d7b18aec2d68eb21.png)
**《507页Android开发相关源码解析》**
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
> **本文已被[腾讯CODING开源托管项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](https://ali1024.coding.net/public/P7/Android/git)收录,自学资源及系列文章持续更新中...**
[外链图片转存中...(img-dBbVee9f-1631253479098)]
**《507页Android开发相关源码解析》**
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
> **本文已被[腾讯CODING开源托管项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](https://ali1024.coding.net/public/P7/Android/git)收录,自学资源及系列文章持续更新中...**