J'utilise FragmentActivity et Fragments.
Lorsque l'application démarre :
FragmentActivity onCreate() <------
FragmentActivity onStart()
FragmentActivity onResume()
Fragment onAttach()
Fragment onCreate() <------
Fragment onCreateView()
Fragment onActivityCreated()
Fragment onStart()
Fragment onResume()
Tout est OK, FragmentActivity onCreate() est appelé avant Fragment onCreate(). Et lorsque je fais pivoter :
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()
Le Fragment onCreate() est appelé avant le FragmentActivity onCreate(). Pourquoi cela est-il incohérent ?
Dans FragmentActivity onCreate(), je génère des données que Fragment onCreate() récupère. En raison de ce comportement étrange, j'ai dû déplacer mon code du Fragment onCreate() au Fragment onCreateView() pour être sûr que mes données avaient été générées auparavant.
J'utilise FragmentStatePagerAdapter pour contenir les fragments, c'est peut-être la raison ?