我使用的是FragmentActivity和片段。
当应用程序启动时:
FragmentActivity onCreate() <------
FragmentActivity onStart()
FragmentActivity onResume()
Fragment onAttach()
Fragment onCreate() <------
Fragment onCreateView()
Fragment onActivityCreated()
Fragment onStart()
Fragment onResume()一切正常,FragmentActivity onCreate()在Fragment onCreate()之前被调用。当我旋转时:
Fragment onPause()
FragmentActivity onPause()
Fragment onStop()
FragmentActivity onStop()
Fragment onDestroyView()
Fragment onDestroy()
Fragment onDetach()
FragmentActivity onDestroy()
---
Fragment onAttach()
Fragment onCreate() <----------
FragmentActivity onCreate() <---------
Fragment onCreateView()
Fragment onActivityCreated()
Fragment onStart()
FragmentActivity onStart()
FragmentActivity onResume()
Fragment onResume()片段onCreate()在FragmentActivity onCreate()之前调用。为什么它不一致?
在FragmentActivity onCreate()中,我生成了一些数据,onCreate()获得了这些数据片段。由于这种奇怪的行为,我不得不将代码从片段onCreate()移到片段onCreateView(),以确保我的数据以前已经生成过。
我正在使用FragmentStatePagerAdapter来保存片段,也许这就是原因?
https://stackoverflow.com/questions/14093438
复制相似问题