FragmentActivityとFragmentsを使用しています。
アプリケーションの起動時:
FragmentActivity onCreate() <------
FragmentActivity onStart()
FragmentActivity onResume()
Fragment onAttach()
Fragment onCreate() <------
Fragment onCreateView()
Fragment onActivityCreated()
Fragment onStart()
Fragment onResume()
すべて問題ありません。FragmentActivityonCreate()は、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()
Fragment onCreate()は、FragmentActivity onCreate()の前に呼び出されます。なぜ一貫性がないのですか?
FragmentActivity onCreate()で、Fragment onCreate()が取得するデータを生成します。その奇妙な振る舞いのために、データが以前に生成されたことを確認するために、コードをFragment onCreate()からFragment onCreateView()に移動する必要がありました。
FragmentStatePagerAdapterを使用してフラグメントを保持していますが、それが理由でしょうか?