viewPager嵌套fragment的数据刷新
2017-07-25 15:47
483 查看
最近在做搜索的开发,遇到viewPager嵌套fragment的数据刷新的问题,在网上搜了搜没有搜到自己想要的答案,就自己写了一个,亲测有效,希望可以帮到遇到这类问题的小伙伴;
刚开始的时候我在我的baseFragment里添加了一个刷新的方法,其他的fragment继承:
现在看看我的其中一个SearchFragment实现:
当数据变化的时候,刷新viewpager,viewpager刷新的方法,有几种这里我用的是重写
什么时候调用upDate()方法呢,调用了viewpager的notifychanged的方法后viewpager会重走instantiateItem方法,在这个方法里我是这么做的
这样我们要更新的数据通过fragment里了,不知道同学们看到我的SearchFragment里的upDate方法会不会有疑问,为什么只是接收一下数据,并没有做实质性的操作,这是因为viewpager刷新的时候fragment会重走oncreate方法,所以你在update里的用的对象会为空,所以你只需在此方法里做接收,在SearchFragment里我会初始化数据后,更新数据的时候直接时候传过来的data值即可。
是不是很简单呢,第一次写博客,希望能帮到你!!!
刚开始的时候我在我的baseFragment里添加了一个刷新的方法,其他的fragment继承:
public abstract class SearchBaseFragment extends BaseFragment { public abstract void upDate(String data) ; }
现在看看我的其中一个SearchFragment实现:
/** * 更新数据 * @param data */ @Override public void upDate(String data) { this.data = data; }
当数据变化的时候,刷新viewpager,viewpager刷新的方法,有几种这里我用的是重写
public int getItemPosition(Object object) { //POSITION_NONE 刷新所有的 Item return PagerAdapter.POSITION_NONE; }
什么时候调用upDate()方法呢,调用了viewpager的notifychanged的方法后viewpager会重走instantiateItem方法,在这个方法里我是这么做的
@Override public Object instantiateItem(ViewGroup container, int position) { searchBaseFragment = ((SearchBaseFragment) super.instantiateItem(container, position)); if (mData!=null&&mData.length()>0){ searchBaseFragment.upDate(mData); } return searchBaseFragment; }
这样我们要更新的数据通过fragment里了,不知道同学们看到我的SearchFragment里的upDate方法会不会有疑问,为什么只是接收一下数据,并没有做实质性的操作,这是因为viewpager刷新的时候fragment会重走oncreate方法,所以你在update里的用的对象会为空,所以你只需在此方法里做接收,在SearchFragment里我会初始化数据后,更新数据的时候直接时候传过来的data值即可。
是不是很简单呢,第一次写博客,希望能帮到你!!!
相关文章推荐
- Android ViewPager Fragment 切换刷新数据,解决生命周期只走一次的问题
- Android中Fragment嵌套ViewPager,ViewPager嵌套Fragment导致二次进入时没有数据
- 关于ViewPager嵌套Fragment,第二次加载数据不显示问题
- Android FragmentPagerAdapter数据刷新notifyDataSetChanged没效果研究或不执行OnCreatView方法导致界面不刷新
- Android ViewPager刷新Fragment数据(ViewPager获取Fragment对象)
- 关于viewpager与fragment需要刷新数据的bug,解决办法。
- Fragment嵌套Viewpager嵌套Fragment,切换后数据不见了解决方案....
- Fragment+ViewPager滑动,网络恢复时滑动刷新Fragment数据
- Fragment嵌套ViewPager切换后数据消失ViewPager空白问题
- Android ViewPager刷新Fragment数据(ViewPager获取Fragment对象)
- Android ViewPager中切换fragment刷新数据
- 关于ViewPager嵌套Fragment,第二次加载数据不显示问题
- Fragment+viewpager+Fragment 嵌套 第二次进入该fragment不显示数据
- Fragment和ViewPager多层嵌套,容易出现内层fragment某些页面数据丢失
- viewpager嵌套fragment,滑动别的fragment之后,之前的fragment数据重新加载,恢复默认了
- fragment中如果有fragment嵌套viewpager,每次点击刷新及懒加载的解决方法
- ViewPager嵌套Fragment来回滑动重新加载数据
- fragment嵌套viewpager嵌套fragment第二次加载数据不显示问题
- viewpager嵌套fragment,fragment放置后台时间过长,不显示数据
- FragmentPagerAdapter与FragmentStatePagerAdapter的区别+ViewPager数据刷新问题详解