Różnice i zastosowania OnCreate(), onCreateView() i onActivityCreated() we fragmentach

Jakie są różnice między onCreate(), onCreateView(), i onActivityCreated() we fragmentach i do czego by się przydały?

Author: Farbod Salamat-Zadeh, 2015-03-08

2 answers

OnCreate():

Metoda onCreate() W Fragment jest wywoływana po Activity's onAttachFragment() ale wcześniej Fragment' s onCreateView().
W tej metodzie można przypisać zmienne, uzyskać Intent dodatki i Wszystko inne, co nie wiąże się z hierarchią widoku (tj. inicjalizacje niegrafowe). Jest tak, ponieważ ta metoda może być wywołana, gdy Activity ' S onCreate() nie jest zakończona, a więc próba uzyskania dostępu do hierarchii widoków może spowodować crash.

OnCreateView():

Po wywołaniu onCreate() (w Fragment), wywołane jest Fragment's onCreateView(). Możesz przypisać swoje zmienne View i wykonać dowolne graficzne inicjalizacje. Oczekuje się, że zwrócisz View z tej metody i jest to główny widok interfejsu użytkownika, ale jeśli twoja Fragment nie używa żadnych układów ani Grafiki, możesz zwrócić null (dzieje się domyślnie, jeśli nie nadpisujesz).

OnActivityCreated():

Jako nazwa Stany, jest to wywołane po zakończeniu Activity'S onCreate() . Jest wywoływany po onCreateView() i jest używany głównie do końcowych inicjalizacji (na przykład modyfikowania elementów UI).


Podsumowując...
... wszystkie one są nazywane w Fragment, ale są nazywane w różnym czasie.
onCreate() jest wywoływany jako pierwszy, do wykonywania dowolnych niegraficznych inicjalizacji. Następnie możesz przypisać i zadeklarować dowolne zmienne View, których chcesz użyć w onCreateView(). Następnie użyj onActivityCreated(), aby wykonać dowolny ostateczne inicjalizacje, które chcesz zrobić, gdy wszystko się skończy.


jeśli chcesz przejrzeć oficjalną dokumentację Androida, można ją znaleźć tutaj: [39]} - onCreate()
- onCreateView()
- onActivityCreated()

istnieje również kilka nieco innych, ale mniej rozwiniętych pytań/odpowiedzi tutaj na Stack Overflow: {35]}

 316
Author: Farbod Salamat-Zadeh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:54:58

Dla każdego, kto szuka zwięzłej, obrazkowej odpowiedzi:

Tutaj wpisz opis obrazka https://hanaskuliah.wordpress.com/2015/12/07/android-5-development-part-6-fragment/


I,

Tutaj wpisz opis obrazka

 75
Author: pulp_fiction,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-16 06:39:07