Différence et utilisations de onCreate (), onCreateView () et onActivityCreated () dans des fragments

Quelles sont les différences entre onCreate() , onCreateView() et onActivityCreated() dans des fragments et à quoi serviraient-ils chacun?

onCreate ():

La méthode onCreate() dans un Fragment est appelée après le onAttachFragment() mais avant le onAttachFragment() ce Fragment .
Dans cette méthode, vous pouvez atsortingbuer des variables, obtenir des extras d’ Intent et tout autre élément n’impliquant pas la hiérarchie View (c’est-à-dire des initialisations non graphiques). Cela est dû au fait que cette méthode peut être appelée lorsque le onCreate() n’est pas terminé et que tenter d’accéder à la hiérarchie View peut entraîner un blocage.

onCreateView ():

Une fois que onCreate() est appelé (dans le Fragment ), on appelle onCreate() du Fragment . Vous pouvez atsortingbuer vos variables View et effectuer des initialisations graphiques . Vous êtes censé renvoyer une View partir de cette méthode, et ceci est la vue principale de l’interface utilisateur, mais si votre Fragment n’utilise aucune disposition ou graphique, vous pouvez renvoyer null (par défaut si vous ne remplacez pas).

onActivityCreated ():

Comme son nom l’indique, ceci est appelé une fois l’ Activity onCreate() terminée . Il est appelé après onCreateView() , et est principalement utilisé pour les initialisations finales (par exemple, en modifiant les é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 des initialisations non graphiques. Ensuite, vous pouvez affecter et déclarer toutes les variables View vous souhaitez utiliser dans onCreateView() . Ensuite, utilisez onActivityCreated() pour faire toutes les initialisations finales que vous souhaitez effectuer une fois que tout est terminé.


Si vous voulez voir 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 le débordement de stack:

  • onCreate() vs onCreateView()
  • onCreateView() vs onActivityCreated()

Pour ceux qui recherchent une réponse concise et illustrée:

entrer la description de l'image ici https://hanaskuliah.wordpress.com/2015/12/07/android-5-development-part-6-fragment/


Et,

entrer la description de l'image ici