Android Fragment内嵌Fragment页面不刷新数据问题
来源:互联网 发布:seo臻系统 编辑:程序博客网 时间:2024/04/29 16:05
解决Fragment内嵌Fragment页面数据无法刷新的问题
在父Fragment中重写
@Override
public void onDestroyView() {
super.onDestroyView();
try {
Field childFragmentManager = Fragment.class
.getDeclaredField("mChildFragmentManager");
childFragmentManager.setAccessible(true);
childFragmentManager.set(this,null);
} catch (NoSuchFieldExceptione) {
throw new RuntimeException(e);
} catch (IllegalAccessExceptione) {
throw new RuntimeException(e);
}
}
因为Fragment切换时的生命周期06-11 13:29:07.023: I/Fragment(3385): Parent onAttach
06-11 13:29:07.023: I/Fragment(3385): Parent onCreate
06-11 13:29:07.023: I/Fragment(3385): Parent onCreateView
06-11 13:29:07.034: I/Fragment(3385): Parent onActivityCreated
06-11 13:29:07.034: I/Fragment(3385): Parent onStart
06-11 13:29:07.034: I/Fragment(3385): Parent onResume
06-11 13:29:07.040: I/Fragment(3385): Child A onAttach
06-11 13:29:07.040: I/Fragment(3385): Child A onCreate
06-11 13:29:07.045: I/Fragment(3385): Child A onActivityCreated
06-11 13:29:07.049: I/Fragment(3385): Child A onStart
06-11 13:29:07.049: I/Fragment(3385): Child A onResume
06-11 13:29:07.050: I/Fragment(3385): Child B onAttach
06-11 13:29:07.050: I/Fragment(3385): Child B onCreate
06-11 13:29:07.057: I/Fragment(3385): Child B onActivityCreated
06-11 13:29:07.061: I/Fragment(3385): Child B onStart
06-11 13:29:07.061: I/Fragment(3385): Child B onResume
06-11 13:29:09.197: I/Fragment(3385): Child C onAttach
06-11 13:29:09.197: I/Fragment(3385): Child C onCreate
06-11 13:29:09.206: I/Fragment(3385): Child C onActivityCreated
06-11 13:29:09.207: I/Fragment(3385): Child C onStart
06-11 13:29:09.209: I/Fragment(3385): Child C onResume
06-11 13:29:09.550: I/Fragment(3385): Child A onPause
06-11 13:29:09.550: I/Fragment(3385): Child A onStop
06-11 13:29:09.550: I/Fragment(3385): Child A onDestroyView
06-11 13:29:12.673: I/Fragment(3385): Child B onPause
06-11 13:29:12.675: I/Fragment(3385): Child C onPause
06-11 13:29:12.677: I/Fragment(3385): Parent onPause
06-11 13:29:12.677: I/Fragment(3385): Child B onStop
06-11 13:29:12.677: I/Fragment(3385): Child C onStop
06-11 13:29:12.677: I/Fragment(3385): Parent onStop
06-11 13:29:12.680: I/Fragment(3385): Child B onDestroyView
06-11 13:29:12.680: I/Fragment(3385): Child C onDestroyView
06-11 13:29:12.681: I/Fragment(3385): Parent onDestroyView
06-11 13:29:14.456: I/Fragment(3385): Parent onCreateView
06-11 13:29:14.458: I/Fragment(3385): Parent onActivityCreated
06-11 13:29:14.460: I/Fragment(3385): Parent onStart
06-11 13:29:14.460: I/Fragment(3385): Parent onResume
06-11 13:29:14.471: I/Fragment(3385): Child C onAttach
06-11 13:29:14.471: I/Fragment(3385): Child C onCreate
06-11 13:29:14.478: I/Fragment(3385): Child C onActivityCreated
06-11 13:29:14.478: I/Fragment(3385): Child C onStart
06-11 13:29:14.478: I/Fragment(3385): Child C onResume
06-11 13:29:14.478: I/Fragment(3385): Child B onAttach
06-11 13:29:14.478: I/Fragment(3385): Child B onCreate
06-11 13:29:14.502: I/Fragment(3385): Child B onActivityCreated
06-11 13:29:14.506: I/Fragment(3385): Child B onStart
06-11 13:29:14.506: I/Fragment(3385): Child B onResume
06-11 13:29:16.365: I/Fragment(3385): Child A onAttach
06-11 13:29:16.365: I/Fragment(3385): Child A onCreate
06-11 13:29:16.368: I/Fragment(3385): Child A onActivityCreated
06-11 13:29:16.375: I/Fragment(3385): Child A onStart
06-11 13:29:16.375: I/Fragment(3385): Child A onResume
06-11 13:29:12.677: I/Fragment(3385): Child B onStop
06-11 13:29:12.677: I/Fragment(3385): Child C onStop
06-11 13:29:12.677: I/Fragment(3385): Parent onStop
06-11 13:29:12.680: I/Fragment(3385): Child B onDestroyView
06-11 13:29:12.680: I/Fragment(3385): Child C onDestroyView
06-11 13:29:12.681: I/Fragment(3385): Parent onDestroyView
06-11 13:29:14.458: I/Fragment(3385): Parent onActivityCreated
06-11 13:29:14.460: I/Fragment(3385): Parent onStart
06-11 13:29:14.460: I/Fragment(3385): Parent onResume
06-11 13:29:14.478: I/Fragment(3385): Child C onActivityCreated
06-11 13:29:14.478: I/Fragment(3385): Child C onStart
06-11 13:29:14.478: I/Fragment(3385): Child C onResume
06-11 13:29:14.502: I/Fragment(3385): Child B onActivityCreated
06-11 13:29:14.506: I/Fragment(3385): Child B onStart
06-11 13:29:14.506: I/Fragment(3385): Child B onResume
在这个时候因为子Fragment被缓存了,但是Fragment的开发者却没有处理这个Fragment内嵌Fragment数据的问题,所以数据是无法刷新的,想要达到数据刷新的目的,可以重写帖子重置getChildFragmentManager的数据。我是在OnDestroyView中完成的重写。这样就可以完成预期的数据刷新了
- Android Fragment内嵌Fragment页面不刷新数据问题
- Android FragmentActivity 内嵌Fragment,Listview notifyDataSetChanged() 不刷新
- android fragment页面切换GridView数据不能刷新的问题
- fragment页面刷新问题
- android fragment的页面返回刷新数据
- 关于Fragment数据不刷新
- Fragment-Fragment切换的数据刷新问题
- fragment页面刷新
- Fragment show刷新页面
- Android ViewPager刷新Fragment数据(ViewPager获取Fragment对象)
- Android ViewPager刷新Fragment数据(ViewPager获取Fragment对象)
- android Viewpager中fragment的数据刷新
- Android Fragment数据保存问题
- Fragment中的刷新问题
- fragment 里面 内嵌 fragment
- android fragment 刷新功能
- ViewPager挂载Fragment刷新Fragment数据
- ViewPager Fragment切换不刷新
- 7张图告诉你成功者与失败者的行为差别
- Qt的学习
- Android快速开发之appBase——(5).BasePresenter的使用
- 微信公众平台分享
- JPA 注解
- Android Fragment内嵌Fragment页面不刷新数据问题
- mysql高级查询
- Git注意事项
- vim 文件保存退出 文件相关操作汇总
- import com.sun.image.codec.jpeg.JPEGCodec不通过 找不到包
- 微信 和 支付宝 公众服务号开发者文档
- Android 动态设置TextView drawableLeft的方式
- 自闭症儿童教育问题-雅恩教育言语语言社交感统
- 太阳 仰角和方位角(Elevation and Azimuth)