¿Cuáles son las diferencias entre onCreate()
, onCreateView()
y onActivityCreated()
en fragmentos y para qué se utilizarían?
android
android-fragments
android-lifecycle
oncreate
fragment-lifecycle
Farbod Salamat-Zadeh
fuente
fuente
Respuestas:
onCreate ():
El
onCreate()
método en aFragment
se llama después deActivity
'sonAttachFragment()
pero antes de esoFragment
' sonCreateView()
.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 se puede llamar a este método cuando elActivity
'sonCreate()
no está terminado, por lo que intentar acceder a la jerarquía de Vista aquí puede provocar un bloqueo.onCreateView ():
Después de que
onCreate()
se llama a (en elFragment
), se llama aFragment
'sonCreateView()
. Puede asignar susView
variables y hacer cualquier inicialización gráfica . Se espera que devuelva unView
de este método, y esta es la vista principal de la interfaz de usuario, pero siFragment
no utiliza ningún diseño o gráfico, puede regresarnull
(sucede de forma predeterminada si no anula).onActivityCreated ():
Como su nombre lo indica, se llama después de que el
Activity
's seonCreate()
haya completado . Se llama despuésonCreateView()
y se usa principalmente para las inicializaciones finales (por ejemplo, modificación de elementos de la interfaz de usuario).Para resumir ...
... todos se llaman en el
Fragment
pero se llaman en diferentes momentos.El
onCreate()
se llama en primer lugar, para hacer ningún inicializaciones no gráficas. A continuación, puede asignar y declarar cualquierView
variable que desee usaronCreateView()
. Luego, useonActivityCreated()
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 Stack Overflow:
onCreate()
vsonCreateView()
onCreateView()
vsonActivityCreated()
fuente
onCreateView
.Para cualquiera que busque una respuesta concisa y pictórica:
https://hanaskuliah.wordpress.com/2015/12/07/android-5-development-part-6-fragment/
Y,
fuente
onActivityCreated () - Desaprobado
onActivityCreated()
ahora está en desuso como Fragments Version 1.3.0-alpha02La información detallada se puede encontrar aquí
fuente