Разница и использование onCreate(), onCreateView() и onActivityCreated() в фрагментах

В чем разница между onCreate(), onCreateView() и onActivityCreated() в фрагментах и ​​для чего они будут использоваться?

Ответ 1

OnCreate():

Метод onCreate() в Fragment называется , вызванным после Activity onAttachFragment(), но до этого Fragment onCreateView().
В этом методе вы можете назначать переменные, получать Intent дополнительные функции и все, что не связано с иерархией представления (т.е. Неграфическими инициализациями). Это связано с тем, что этот метод можно вызвать, когда Activity onCreate() не закончен, и поэтому попытка получить доступ к иерархии View может привести к сбою.

onCreateView():

После вызова onCreate()Fragment) вызывается Fragment onCreateView(). Вы можете назначить переменные View и выполнять графические инициализации. Ожидается, что из этого метода будет возвращен View, и это основной вид пользовательского интерфейса, но если ваш Fragment не использует макеты или графику, вы можете вернуть null (происходит по умолчанию, если вы не используете переопределение).

onActivityCreated():

Как сказано в названии, это вызвано после завершения Activity onCreate(). Он вызывается после onCreateView() и в основном используется для окончательных инициализаций (например, для изменения элементов интерфейса).


Подводя итог...
... все они вызываются в Fragment, но вызывается в разное время.
onCreate() вызывается первым, для выполнения каких-либо неграфических инициализаций. Затем вы можете назначить и объявить любые переменные View, которые вы хотите использовать в onCreateView(). Затем используйте onActivityCreated() для выполнения любых окончательных инициализаций, которые вы хотите выполнить, как только все будет завершено.


Если вы хотите просмотреть официальную документацию на Android, ее можно найти здесь:
- onCreate()
- onCreateView()
- onActivityCreated()

В разделе "Переполнение стека" есть несколько немного отличающихся, но менее развитых вопросов/ответов: