Fragment是小于Activity,大于View
他有View所有东西,可以包含在XML布局里面,可以设置Id
他有Activity的生命周期
他有自己的一些管理函数
常见示例:
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.fragment_container, fragment, tag);
transaction.commit();
我们经常使用的无非两个东西:
1.FragmentManager
2.FragmentTransaction
常用操作:
manager.findFragmentById(); //根据ID来找到对应的Fragment实例
manager.findFragmentByTag();//根据TAG找到对应的Fragment实例,TAG是我们add的时候,一起设置的
transaction.add 把Fragment添加到布局
transaction.remove 把Fragment从布局移除
transaction.replace replace()的实现是将同一个Container中的所有fragment视图从ViewTree中全部清空!然后再添加指定的fragment。
transaction.addToBackStack(String tag); manager.popBackStack(); commit之前,把当前一次事物,添加到回退栈记录。然后就可以用pop把当前事物还原
基本介绍:
http://blog.csdn.net/lmj623565791/article/details/37970961/
http://blog.csdn.net/harvic880925/article/details/44927375
填坑:
http://www.jianshu.com/p/d9143a92ad94
ViewPager+Fragment生命周期问题坑:
http://blog.csdn.net/tongcpp/article/details/41978751