it-swarm.com.de

Unterschied und Verwendung von onCreate (), onCreateView () und onActivityCreated () in Fragmenten

Was sind die Unterschiede zwischen onCreate(), onCreateView() und onActivityCreated() in Fragmenten und wofür würden sie jeweils verwendet?

289

onCreate ():

Die Methode onCreate() in einem Fragment ist wird nach dem Activity 's onAttachFragment() aufgerufen, aber vor dem Fragment' s onCreateView().
Bei dieser Methode können Sie Variablen zuweisen, Intent Extras abrufen und alles andere, was die Ansichtshierarchie nicht betrifft ​​(d. H. Nicht grafische Initialisierungen). Dies liegt daran, dass diese Methode aufgerufen werden kann, wenn die Funktion onCreate() von Activity nicht abgeschlossen ist. Wenn Sie also versuchen, hier auf die Ansichtshierarchie zuzugreifen, kann dies zu einem Absturz führen.

onCreateView ():

Nach dem Aufrufen von onCreate() (in Fragment) wird die onCreateView() von Fragment aufgerufen. Sie können Ihre Variablen View zuweisen und beliebige grafische Initialisierungen vornehmen. Es wird erwartet, dass Sie von dieser Methode ein View zurückgeben. Dies ist die Hauptansicht der Benutzeroberfläche. Wenn Ihr Fragment jedoch keine Layouts oder Grafiken verwendet, können Sie null zurückgeben (geschieht durch Standard, wenn Sie nicht überschreiben).

onActivityCreated ():

Wie der Name schon sagt, ist dies wird aufgerufen, nachdem Activitys onCreate() abgeschlossen wurde. Es wird nach onCreateView() aufgerufen und hauptsächlich für endgültige Initialisierungen (z. B. zum Ändern von UI-Elementen) verwendet.


m es zusammenzufassen ...
... sie werden alle im Fragment aufgerufen, aber zu unterschiedlichen Zeiten.
Die Funktion onCreate() wird zuerst aufgerufen, um nicht-grafische Initialisierungen durchzuführen. Als Nächstes können Sie alle View Variablen zuweisen und deklarieren, die Sie in onCreateView() verwenden möchten. Verwenden Sie anschließend onActivityCreated(), um alle endgültigen Initialisierungen durchzuführen, die Sie ausführen möchten, sobald alles abgeschlossen ist.


Wenn Sie die offizielle Android Dokumentation anzeigen möchten, finden Sie diese hier:
- onCreate()
- onCreateView()
- onActivityCreated()

Es gibt auch einige etwas andere, aber weniger entwickelte Fragen/Antworten hier auf Stack Overflow:

365

Für alle, die eine knappe, bildliche Antwort suchen:

enter image description herehttps://hanaskuliah.wordpress.com/2015/12/07/Android-5-development-part-6-fragment/


Und,

enter image description here

116
pulp_fiction