ViewPager踩坑
2019-02-20 本文已影响1人
初心一点
ViewPager前面有说过懒加载,今天来进一步研究下ViewPager常见的坑
ViewPager嵌套ViewPager,在切换外部ViewPager后,无法加载内部ViewPager中数据
- getFragmentManager()是Activity针对Fragment的Manager,而如果是Fragment嵌套Fragment,那么就需要利用getChildFragmentManager()了
- getFragmentManager()是所在fragment 父容器的碎片管理
- getChildFragmentManager()是在fragment 里面子容器的碎片管理
getSupportFragmentManager() 和 getFragmentManager()使用场景
- getSupportFragmentManager()主要用于支持 3.0以下android系统API版本,3.0以上系统可以直接调用getFragmentManager()
- 因为fragment是3.0以后才出现的组件,为了这之前的系统版本也能使用fragment,借助V4包里面的getSupportFragmentManager()方法来间接获取FragmentManager()对象
- 3.0版本之后,有了Fragment的api,就可以直接使用getFragmentManager()这个方法来获取对象
- 当遇到 getSupportFragmentManager()没定义的问题时,修改下Activity为 FragmentActivity 或者 AppCompatActivity。必须是继承 FragmentActivity 或者 AppCompatActivity,然后使用
- Fragment嵌套Fragment要用getChildFragmentManager().
参考链接