setretaininstance setarguments onviewcreated onattach onactivitycreated example android android-fragments android-lifecycle oncreate fragment-lifecycle

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?



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 :