[置顶] Fragment-Fragment切换的数据刷新问题
2017-01-09 15:02
1041 查看
需求:
fragment中存在一个ListView列表,在其进入切换到别的页面(或者是Fragment或者是Activity)的情况下需要刷新数据
问题
仅仅依靠onResume方法实现不了,在fragment切换fragment的时候(Viewpager),onResume并不会调用
解决过程
通过查看Fragment中所有的回调方法发现,有这么一个方法,符合我们的需求
经过测试发现onCreateAnimation在framgment切换的时候会调用,但是在进入Activity返回时,可能不会被调用,具体什么况下不会被调用并没有深究.
解决办法
两个方法都要重写,同时加一个标记,判断数据是否已经被刷新,没有被刷新则刷新,否则不刷新
(PS:当然,用观察者模式 比如EventBus也可以实现)
fragment中存在一个ListView列表,在其进入切换到别的页面(或者是Fragment或者是Activity)的情况下需要刷新数据
问题
仅仅依靠onResume方法实现不了,在fragment切换fragment的时候(Viewpager),onResume并不会调用
解决过程
通过查看Fragment中所有的回调方法发现,有这么一个方法,符合我们的需求
// 参数enter表明 当前进入此方法是否为进入Fragment调用的 public Animation onCreateAnimation(int transit, boolean enter, int nextAnim)
经过测试发现onCreateAnimation在framgment切换的时候会调用,但是在进入Activity返回时,可能不会被调用,具体什么况下不会被调用并没有深究.
解决办法
两个方法都要重写,同时加一个标记,判断数据是否已经被刷新,没有被刷新则刷新,否则不刷新
private boolean isGetData = false; @Override public Animation onCreateAnimation(int transit, boolean enter, int nextAnim) { // 进入当前Fragment if (enter && !isGetData) { isGetData = true; // 这里可以做网络请求或者需要的数据刷新操作 } else { isGetData = false; } return super.onCreateAnimation(transit, enter, nextAnim); } @Override public void onResume() { super.onResume(); if (!isGetData) { // 这里可以做网络请求或者需要的数据刷新操作 isGetData = true; } } @Override public void onPause() { super.onPause(); isGetData = false; }
(PS:当然,用观察者模式 比如EventBus也可以实现)
相关文章推荐
- android fragment页面切换GridView数据不能刷新的问题
- Android ViewPager Fragment 切换刷新数据,解决生命周期只走一次的问题
- Android FragmentPagerAdapter 数据刷新问题
- Android Fragment内嵌Fragment页面不刷新数据问题
- Android中横竖屏切换加载不同布局导致fragment数据丢失的问题
- Fragment嵌套ViewPager切换后数据消失ViewPager空白问题
- 关于fragment切换更新数据问题
- 解决RadioButton+FragmentPagerAdapter+Fragment切换页面数据加载的问题
- Fragment嵌套ViewPager切换后数据消失ViewPager空白问题
- 关于fragment间数据传递和相互切换的问题
- 解决Fragment切换时实例化加载数据问题
- 【Android】解决RadioButton+FragmentPagerAdapter+Fragment切换页面数据加载的问题
- Fragment嵌套ViewPager切换后数据消失ViewPager空白问题
- fragment切换 hide和show之后重新刷新数据的方法
- FragmentPagerAdapter与FragmentStatePagerAdapter的区别+ViewPager数据刷新问题详解
- ViewPager+Fragment切换时无法更新数据问题解析(源代码分享)
- Android FragmentStatePagerAdapter.notifyDataSetChanged()刷新数据的问题
- Fragment嵌套ViewPager切换后数据消失ViewPager空白问题
- 工厂模式加单例管理Fragment,同时解决fragment切换数据丢失问题
- Fragment嵌套ViewPager切换后数据消失ViewPager第二个空白问题