Quelles sont les différences entre onCreate()
, onCreateView()
et onActivityCreated()
en fragments et à quoi serviraient-ils?
onCreate ():
La méthode onCreate()
dans un Fragment
est appelé après le Activity
's onAttachFragment()
mais avant cet Fragment
's onCreateView()
.
Dans cette méthode, vous pouvez affecter des variables, obtenir des extras Intent
et tout ce qui n’implique pas la hiérarchie des vues (c’est-à-dire des initialisations non graphiques). En effet, cette méthode peut être appelée lorsque le onCreate()
de Activity
n'est pas terminé et que tenter d'accéder à la hiérarchie de la vue ici risque alors de provoquer un blocage.
onCreateView ():
Une fois que onCreate()
est appelé (dans Fragment
), le Fragment
's onCreateView()
est appelé. Vous pouvez affecter vos variables View
et faire toute initialisation graphique . Vous êtes censé renvoyer un View
à partir de cette méthode. Il s'agit de la vue principale de l'interface utilisateur. Toutefois, si votre Fragment
n'utilise pas de dispositions ni de graphiques, vous pouvez renvoyer null
(se produit par défaut si vous ne le remplacez pas).
onActivityCreated ():
Comme son nom l'indique, il s'agit de appelé après que Activity
's onCreate()
a terminé . Il est appelé après onCreateView()
et est principalement utilisé pour les initialisations finales (par exemple, modification d'éléments de l'interface utilisateur).
Pour résumer ...
... ils sont tous appelés dans le Fragment
mais sont appelés à des moments différents.onCreate()
est appelé en premier pour effectuer toute initialisation non graphique. Ensuite, vous pouvez affecter et déclarer toutes les variables View
que vous souhaitez utiliser dans onCreateView()
. Ensuite, utilisez onActivityCreated()
pour effectuer les initialisations finales que vous souhaitez effectuer une fois que tout est terminé.
Si vous voulez voir la documentation officielle de Android, vous pouvez la trouver ici:
- onCreate()
- onCreateView()
- onActivityCreated()
Il y a aussi quelques questions/réponses légèrement différentes, mais moins développées ici sur Stack Overflow:
Pour ceux qui recherchent une réponse concise et imagée:
https://hanaskuliah.wordpress.com/2015/12/07/Android-5-development-part-6-fragment/
Et,