FragmentManager在Activity重建后,add的fragment消失,救命
被这个问题折磨了三天了,始终找不到原因要哭了T^T,求救求救
问题是这样的,我想学习制作微信那样的底部导航,用了四个Fragment和自定义控件的方法。为了防止在屏幕旋转时fragment跟着activity销毁,我在fragment的onCreate中增加了 setRetainInstance(true);并跟踪fragment的生命周期显示
01-26 08:04:15.826 3836-3836/com.cosmos.www.cosmos E/MainActivity﹕ ***********onCreate() start***********
01-26 08:04:15.977 3836-3836/com.cosmos.www.cosmos E/MainActivity﹕ new Fragment():消息
01-26 08:04:15.978 3836-3836/com.cosmos.www.cosmos E/MainActivity onCreate()﹕ setDefaultFirstFragment:消息
01-26 08:04:15.978 3836-3836/com.cosmos.www.cosmos E/MainActivity﹕ ***********onCreate() end***********
01-26 08:04:15.981 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onAttach
01-26 08:04:15.986 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onCreate()
01-26 08:04:15.989 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onCreateView
01-26 08:04:15.993 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onActivityCreated
01-26 08:04:15.993 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onStart
01-26 08:04:16.021 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onResume
01-26 08:04:35.198 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onPause
01-26 08:04:35.198 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onStop
01-26 08:04:35.198 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onDestroyView
01-26 08:04:35.199 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onDetach
的确没有被destroy(),然后在activity通过FragmentManager.findFragmentByTag(“消息”)时返回的是null,跟踪FragmentMeneger对象发现mAdded=null,按理应有四个fragment才对。大家有没有出现过这样的问题呢。请帮帮我T^T~~~~
问题是这样的,我想学习制作微信那样的底部导航,用了四个Fragment和自定义控件的方法。为了防止在屏幕旋转时fragment跟着activity销毁,我在fragment的onCreate中增加了 setRetainInstance(true);并跟踪fragment的生命周期显示
01-26 08:04:15.826 3836-3836/com.cosmos.www.cosmos E/MainActivity﹕ ***********onCreate() start***********
01-26 08:04:15.977 3836-3836/com.cosmos.www.cosmos E/MainActivity﹕ new Fragment():消息
01-26 08:04:15.978 3836-3836/com.cosmos.www.cosmos E/MainActivity onCreate()﹕ setDefaultFirstFragment:消息
01-26 08:04:15.978 3836-3836/com.cosmos.www.cosmos E/MainActivity﹕ ***********onCreate() end***********
01-26 08:04:15.981 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onAttach
01-26 08:04:15.986 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onCreate()
01-26 08:04:15.989 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onCreateView
01-26 08:04:15.993 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onActivityCreated
01-26 08:04:15.993 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onStart
01-26 08:04:16.021 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onResume
01-26 08:04:35.198 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onPause
01-26 08:04:35.198 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onStop
01-26 08:04:35.198 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onDestroyView
01-26 08:04:35.199 3836-3836/com.cosmos.www.cosmos E/MessageFragment﹕ onDetach
的确没有被destroy(),然后在activity通过FragmentManager.findFragmentByTag(“消息”)时返回的是null,跟踪FragmentMeneger对象发现mAdded=null,按理应有四个fragment才对。大家有没有出现过这样的问题呢。请帮帮我T^T~~~~
...全文
相关推荐
多个fragment显示和隐藏
多个Fragment的显示与隐藏demo
浅谈Android app开发中Fragment的Transaction操作
主要介绍了Android app开发中Fragment的Transaction操作,包括Transaction和Fragment的生命周期的联系等内容,需要的朋友可以参考下
Android应用中使用Fragment组件的一些问题及解决方案总结
Fragment的主要意义就是提供与Activity绑定的生命周期回调。 Fragment不一定要向Activity的视图层级中添加View. 当某个模块需要获得Activity的生命周期回调的时候,就可以考虑通过Fragment来实现. 例如: DialogFragment, 调用show方法来显示一个Dialog(这个一个子Window,并不在Activity的视图层级中),当旋屏时,DialogFragment利用onDestroyView回调来dismiss Dialog,然后Activity重建之后,DialogFragment利用onStart回调再显示Dialog。 当然,我们也
RadioButton实现切换Fragment动画
使用RadioButton切换Fragment,滑动切换的时候有动画
Fragment切换adapter
流行的fragment 切换adapter


