android - setarguments - Diferencia y usos de onCreate(), onCreateView() y onActivityCreated() en fragmentos
onviewcreated (2)
¿Cuáles son las diferencias entre
onCreate()
,
onCreateView()
y
onActivityCreated()
en fragmentos y para qué se utilizarían?
Para cualquiera que busque una respuesta concisa y pictórica:
https://hanaskuliah.wordpress.com/2015/12/07/android-5-development-part-6-fragment/
Y,
onCreate ():
El método
onCreate()
en un
Fragment
se
llama después de
onAttachFragment()
pero antes de
onAttachFragment()
Fragment
.
En este método, puede asignar variables, obtener
Intent
extras y
cualquier otra cosa que no implique la jerarquía de Vista
(es decir, inicializaciones no gráficas).
Esto se debe a que este método se puede
onCreate()
cuando
onCreate()
no está terminado, por lo que intentar acceder a la jerarquía de vista aquí puede provocar un bloqueo.
onCreateView ():
Después de que se llama a
onCreate()
(en el
Fragment
), se llama a
onCreate()
del
Fragment
.
Puede asignar sus variables de
View
y
hacer cualquier inicialización gráfica
.
Se espera que devuelva una
View
de este método, y esta es la vista principal de la interfaz de usuario, pero si su
Fragment
no usa diseños o gráficos, puede devolver
null
(sucede de manera predeterminada si no anula).
onActivityCreated ():
Como su nombre lo indica, se
llama después de que se haya completado
onCreate()
la
Activity
.
Se llama después de
onCreateView()
, y se usa principalmente para las inicializaciones finales (por ejemplo, modificar elementos de la interfaz de usuario).
Para resumir...
... todos se llaman en el
Fragment
pero se llaman en diferentes momentos.
El
onCreate()
se llama primero, para hacer cualquier inicialización no gráfica.
A continuación, puede asignar y declarar cualquier variable de
View
que desee usar en
onCreateView()
.
Luego, use
onActivityCreated()
para hacer cualquier inicialización final que desee hacer una vez que todo se haya completado.
Si desea ver la documentación oficial de Android, puede encontrarla aquí:
-
onCreate()
-
onCreateView()
-
onActivityCreated()
También hay algunas preguntas / respuestas ligeramente diferentes, pero menos desarrolladas aquí en :