Quais são as diferenças entre onCreate()
, onCreateView()
e onActivityCreated()
nos fragmentos e para que cada um deles seria usado?
android
android-fragments
android-lifecycle
oncreate
fragment-lifecycle
Farbod Salamat-Zadeh
fonte
fonte
Respostas:
onCreate ():
O
onCreate()
método em umFragment
é chamado após oActivity
'sonAttachFragment()
mas antes dissoFragment
' sonCreateView()
.Nesse método, você pode atribuir variáveis, obter
Intent
extras e qualquer outra coisa que não envolva a hierarquia de exibição (ou seja, inicializações não gráficas). Isso ocorre porque esse método pode ser chamado quando oActivity
arquivoonCreate()
não estiver concluído e, portanto, tentar acessar a hierarquia Exibir aqui pode resultar em uma falha.onCreateView ():
Depois que o
onCreate()
é chamado (noFragment
), oFragment
'sonCreateView()
é chamado. Você pode atribuir suasView
variáveis e fazer qualquer inicialização gráfica . Espera-se que você retorne aView
deste método, e esta é a visualização principal da interface do usuário, mas se vocêFragment
não usar layouts ou gráficos, poderá retornarnull
(isso acontece por padrão se você não substituir).onActivityCreated ():
Como o nome indica, este é chamado após o
Activity
'sonCreate()
completou . É chamado depoisonCreateView()
e é usado principalmente para inicializações finais (por exemplo, modificar elementos da interface do usuário).Para resumir ...
todos eles são chamados no
Fragment
mas são chamados em momentos diferentes.O
onCreate()
primeiro é chamado, por realizar inicializações não gráficas. Em seguida, você pode atribuir e declarar quaisquerView
variáveis nas quais deseja usaronCreateView()
. Posteriormente, useonActivityCreated()
para fazer as inicializações finais que desejar, depois que tudo estiver concluído.Se você deseja visualizar a documentação oficial do Android, ela pode ser encontrada aqui:
- - -
onCreate()
onCreateView()
onActivityCreated()
Também há perguntas / respostas um pouco diferentes, mas menos desenvolvidas, aqui no Stack Overflow:
onCreate()
vsonCreateView()
onCreateView()
vsonActivityCreated()
fonte
onCreateView
.Para quem procura uma resposta concisa e pictórica:
https://hanaskuliah.wordpress.com/2015/12/07/android-5-development-part-6-fragment/
E,
fonte
onActivityCreated () - descontinuado
onActivityCreated()
agora está obsoleto como fragmentos versão 1.3.0-alpha02Informações detalhadas podem ser encontradas aqui
fonte