1、Fragment为什么被称为第五大组件
1)为什么
有自己的生命周期,可以灵活加载Activity,但生命周期依附于Activity
2)Fragment加载到Activity的两种方式
a. 添加Fragment到activity的布局文件当中 (静态加载)
b.动态在Activity中添加Fragment
(app包下的调用 尽量还是使用v4下的吧)
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1、添加一个FragmentTransaction实例
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
//2、用add()方法加上Fragment对象fragment
OneFragment fragment = new OneFragment();
transaction.add(R.id.like_layout, fragment, "fragment");
transaction.addToBackStack("fragment");
//3、调用commit使得transaction实例的改变生效
transaction.commit();
}
}
3)FragmentPagerAdapter与FragmentStatePagerAdapter
FragmentStatePagerAdapter在每次切换的时候是会回收内存的,所以适合页面较多的情况,而FragmentPagerAdapter只会界面分离,所以适合页面较少的情况
2、Fragment的生命周期
image.png
3、Fragment之间的通信
1)在Fragment中调用Activity中的方法getActivity
2)在Activity中调用Fragment中的方法 接口回调
3)在Fragment中调用Fragment中的方法findFragmentById
4、Fragment的replace、add、remove方法
网友评论