Jakie są różnice między onCreate()
,onCreateView()
i onActivityCreated()
we fragmentach i co one być stosowane dla każdego?
android
android-fragments
android-lifecycle
oncreate
fragment-lifecycle
Farbod Salamat-Zadeh
źródło
źródło
Odpowiedzi:
onCreate ():
onCreate()
Metodę wFragment
jest nazywany poActivity
„sonAttachFragment()
Ale zanim toFragment
” sonCreateView()
.W tej metodzie możesz przypisywać zmienne, uzyskiwać
Intent
dodatki i wszystko inne, co nie wiąże się z hierarchią widoku (tj. Nie graficzne inicjalizacje). Wynika to z faktu, że tę metodę można wywołać, gdyActivity
jestonCreate()
nie jest zakończona, a więc próbuje uzyskać dostęp do widoku Hierarchia tutaj może doprowadzić do katastrofy.onCreateView ():
Po
onCreate()
nazywa (wFragment
), przy czymFragment
„aonCreateView()
jest tzw. Możesz przypisaćView
zmienne i wykonać dowolną graficzną inicjalizację . Oczekuje się, że zwróciszView
z tej metody, a to jest główny widok interfejsu użytkownika, ale jeśli takFragment
nie używasz żadnych układów ani grafiki, możesz zwrócićnull
(domyślnie dzieje się, jeśli nie zastąpisz).onActivityCreated ():
Jak nazwa wskazuje, jest to nazywane po
Activity
„sonCreate()
zakończył . Jest wywoływany poonCreateView()
i jest używany głównie do końcowych inicjalizacji (na przykład do modyfikowania elementów interfejsu użytkownika).Podsumowując ...
... wszyscy są wzywani,
Fragment
ale są wywoływani w różnych momentach. Nazywa się pierwszy, za to żadnych Initialisations niegraficznych. Następnie możesz przypisać i zadeklarować dowolne zmienne, których chcesz użyć . Następnie użyj, aby wykonać końcowe inicjalizacje, które chcesz wykonać, gdy wszystko się zakończy.onCreate()
View
onCreateView()
onActivityCreated()
Jeśli chcesz zobaczyć oficjalną dokumentację Androida, znajdziesz ją tutaj:
- - -
onCreate()
onCreateView()
onActivityCreated()
Istnieją również nieco inne, ale mniej rozwinięte pytania / odpowiedzi na temat przepełnienia stosu:
onCreate()
vsonCreateView()
onCreateView()
vsonActivityCreated()
źródło
onCreateView
.Dla każdego, kto szuka zwięzłej, obrazowej odpowiedzi:
https://hanaskuliah.wordpress.com/2015/12/07/android-5-development-part-6-fragment/
I,
źródło
onActivityCreated () - Przestarzałe
onActivityCreated()
jest teraz przestarzałe jako Fragmenty Wersja 1.3.0-alpha02Szczegółowe informacje można znaleźć tutaj
źródło