Quelles sont les différences entre onCreate()
, onCreateView()
et onActivityCreated()
en fragments et à quoi serviraient-ils chacun?
android
android-fragments
android-lifecycle
oncreate
fragment-lifecycle
Farbod Salamat-Zadeh
la source
la source
Réponses:
onCreate ():
La
onCreate()
méthode dans aFragment
est appelée après leActivity
'sonAttachFragment()
mais avant celuiFragment
-cionCreateView()
.Dans cette méthode, vous pouvez affecter des variables, obtenir des
Intent
extras et tout ce qui n'implique pas la hiérarchie View (c'est-à-dire les initialisations non graphiques). Cela est dû au fait que cette méthode peut être appelée lorsque leActivity
'sonCreate()
n'est pas terminé, et donc essayer d'accéder à la hiérarchie View ici peut entraîner un plantage.onCreateView ():
Après que le
onCreate()
est appelé (dans leFragment
), leFragment
'sonCreateView()
est appelé. Vous pouvez affecter vosView
variables et effectuer toutes les initialisations graphiques . Vous êtes censé renvoyer unView
de cette méthode, et c'est la vue principale de l'interface utilisateur, mais si votreFragment
n'utilise pas de mises en page ou de graphiques, vous pouvez retournernull
(se produit par défaut si vous ne remplacez pas).onActivityCreated ():
Comme son nom l'indique, cela est appelé une fois le
Activity
'sonCreate()
terminé . Il est appelé aprèsonCreateView()
et est principalement utilisé pour les initialisations finales (par exemple, pour modifier des éléments d'interface utilisateur).Pour résumer ...
... ils sont tous appelés dans le
Fragment
mais sont appelés à des moments différents.Le
onCreate()
est appelé en premier, pour effectuer toutes les initialisations non graphiques. Ensuite, vous pouvez affecter et déclarer toutes lesView
variables que vous souhaitez utiliseronCreateView()
. Ensuite, utilisezonActivityCreated()
pour effectuer les initialisations finales que vous souhaitez effectuer une fois que tout est terminé.Si vous souhaitez consulter la documentation officielle d'Android, vous pouvez la trouver ici:
- - -
onCreate()
onCreateView()
onActivityCreated()
Il y a aussi des questions / réponses légèrement différentes, mais moins développées ici sur Stack Overflow:
onCreate()
contreonCreateView()
onCreateView()
contreonActivityCreated()
la source
onCreateView
.Pour tous ceux qui recherchent une réponse concise et imagée:
https://hanaskuliah.wordpress.com/2015/12/07/android-5-development-part-6-fragment/
Et,
la source
onActivityCreated () - Obsolète
onActivityCreated()
est désormais déconseillé en tant que Fragments Version 1.3.0-alpha02Des informations détaillées peuvent être trouvées ici
la source