Fragment详解

2018-04-20  本文已影响0人  萝卜枣

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方法

上一篇 下一篇

猜你喜欢

热点阅读