关于viewpager与fragment需要刷新数据的bug,解决办法。
2017-10-25 10:37
1801 查看
首先要解析两个问题,第一:在 Fragment 中,使用 getArguments() 来取得参数。这是常用的参数传递方式。这种数据传递方式只可能用一次,在 Fragment 被添加到 FragmentManager 后,所以会造成,就算我们把fragment释放掉,在viewpager里面,fragment获取到的bundle,仍然是第一次保存的数据,因此参数传递,在继承的
Fragment 子类中,新增几个 setter,getter然后通过这些 setter 将数据传递过去。同时提醒一下这些 setter 方法中不要操作那些 View,这些 View 只有在 onCreateView() 事件后才可以操作。第二:FragmentPagerAdapter 继承自
PagerAdapter,该类内的每一个生成的 Fragment 都将保存在内存之中,因此适用于那些相对静态的页,数量也比较少的那种;FragmentStatePagerAdapter 继承自
PagerAdapter, 当页面离开视线后,就会被消除,释放其资源;而在页面需要显示时,生成新的页面(就像 ListView 的实现一样)。这么实现的好处就是当拥有大量的页面时,不必在内存中占用大量的内存。所以不用
FragmentPagerAdapter,而改用 FragmentStatePagerAdapter,并且重载 getItemPosition() 并返回 POSITION_NONE,以触发销毁对象以及重建对象。
Fragment 子类中,新增几个 setter,getter然后通过这些 setter 将数据传递过去。同时提醒一下这些 setter 方法中不要操作那些 View,这些 View 只有在 onCreateView() 事件后才可以操作。第二:FragmentPagerAdapter 继承自
PagerAdapter,该类内的每一个生成的 Fragment 都将保存在内存之中,因此适用于那些相对静态的页,数量也比较少的那种;FragmentStatePagerAdapter 继承自
PagerAdapter, 当页面离开视线后,就会被消除,释放其资源;而在页面需要显示时,生成新的页面(就像 ListView 的实现一样)。这么实现的好处就是当拥有大量的页面时,不必在内存中占用大量的内存。所以不用
FragmentPagerAdapter,而改用 FragmentStatePagerAdapter,并且重载 getItemPosition() 并返回 POSITION_NONE,以触发销毁对象以及重建对象。
相关文章推荐
- [置顶] 关于FragmentPgerAdapter 的数据不刷新最好解决办法
- Android ViewPager Fragment 切换刷新数据,解决生命周期只走一次的问题
- 关于viewpager里Fragment嵌套Fragment的一些列bug解决
- 关于viewpager里嵌套fragment报 “The specified child already has a parent”的解决办法
- 关于PopupWindow中无法嵌套viewpager+Fragment的解决办法!
- android viewpager fragment切换时界面卡顿解决办法
- FragmentPagerAdapter无法刷新的最简单解决办法
- viewpager+fragment来回滑动fragment重新加载的简单解决办法
- ViewPager+FragmentTabhost 解决办法
- android FragmentPagerAdapter 无法刷新数据的解决方法
- 笔记:ViewPager+FragmentPagerAdapter数据刷新问题
- android中使用底部菜单栏造成Viewpager+fragment中ListView数据被隐藏一条的解决
- FragmentViewPagerAdapter中使用FragmentTabhost 重新生成view解决办法
- 解决fragment与viewpager一起使用时fragment中的listview数据出现重复
- 关于activity被重启后viewpager的数据不刷新的问题
- Android 中 ViewPager+Fragment关于fragment的数据更新
- FragmentStatePagerAdapter.notifyDataSetChanged不刷新页面的解决办法
- 关于第二次执行fragment+viewpager没有数据,页面空白的问题
- 关于FragmentPagerAdapter.notifyDataSetChanged刷新页面无效果,貌似是个bug?求高手指导。。
- 关于ViewPager嵌套Fragment,第二次加载数据不显示问题