App*_*evo 54 android oncreate android-fragments android-fragmentactivity android-support-library
我正在使用FragmentActivity和Fragments.
应用程序启动时:
FragmentActivity onCreate() <------
FragmentActivity onStart()
FragmentActivity onResume()
Fragment onAttach()
Fragment onCreate() <------
Fragment onCreateView()
Fragment onActivityCreated()
Fragment onStart()
Fragment onResume()
一切都还可以,在Fragment onCreate()之前调用FragmentActivity 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()中,我生成了一些Fragment onCreate()得到的数据.由于这种奇怪的行为,我不得不将我的代码从Fragment onCreate()移动到Fragment onCreateView(),以确保我的数据之前已经生成过.
我正在使用FragmentStatePagerAdapter来保存Fragments,也许这就是原因?
Sam*_*Sam 64
onActivityCreated()在Fragment的生命周期中调用之前,您不应指望有效的Activity .
在创建片段的活动并且实例化此片段的视图层次结构时调用.一旦这些部分就位,它可用于进行最终初始化,例如检索视图或恢复状态.
重建顺序不是线性的确切原因,我不能告诉你.允许每个组件按自己的进度重新启动而不是强制执行严格的订单可能更有效.举例来说,我更喜欢我的LoaderManager尽早开始,我们会担心布局它的内容以后.
(我喜欢一个好的图表.)

Ada*_*dam 30
片段在活动期间恢复onCreate().但重要的是,它们将在基类Activity类中恢复onCreate().因此,如果您super.onCreate()先调用,onCreate()则在恢复碎片后,将执行所有其余方法.
一种可能的解决方案是恢复您的状态或计算在您打电话之前片段所需的数据super.onCreate()
生命周期如下:
ACTIVITY onCreate (pre-super)
FRAGMENT onAttach
ACTIVITY onCreate (post-super)
所以做这样的事情:
@Override
public void onCreate( final Bundle savedInstanceState )
{
    Log.d( TAG, "ACTIVITY onCreate (pre-super)" );
    // Do your processing here
    super.onCreate( savedInstanceState ); // Fragments will be restored here
    Log.d( TAG, "ACTIVITY onCreate (post-super)" );
}
| 归档时间: | 
 | 
| 查看次数: | 12832 次 | 
| 最近记录: |