Чем отличаются методы жизненного цикла onCreate() и onCreateView() во Fragment?

Я не знаю когда использовать onCreate() или же onCreateView(),

я использовал onCreate() а также onCreateView() методы жизненного цикла. Я думаю onCreate() для деятельности и onCreateView() для фрагмента. Но я не уверен. Могу ли я использовать onCreate() Метод LifeCycle во Фрагменте? Я надеюсь, что кто-нибудь может мне помочь!

3 ответа

onCreate вызывается при первоначальном создании фрагмента. Вы делаете неграфические инициализации здесь. Он заканчивается еще до того, как макет надут, и фрагмент виден.

onCreateView вызывается для раздувания макета фрагмента, т.е. здесь обычно происходит графическая инициализация. Он всегда вызывается иногда после метода onCreate.

Объяснение жизненного цикла активности - http://developer.android.com/reference/android/app/Activity.html

Объяснение жизненного цикла фрагмента - http://developer.android.com/guide/components/fragments.html

Подробная диаграмма жизненного цикла - https://github.com/xxv/android-lifecycle

Из документов:

OnCreate

Вызывается, когда начинается действие.

Это то место, где должна выполняться большая часть инициализации: вызов setContentView(int) для раздувания пользовательского интерфейса действия, использование findViewById(int) для программного взаимодействия с виджетами в пользовательском интерфейсе, вызову managedQuery(android.net.Uri, String[], String, String[], String) для извлечения курсоров для отображаемых данных и т. Д.

Вы можете вызывать finish () из этой функции, и в этом случае onDestroy() будет вызываться немедленно без выполнения остальной части жизненного цикла действия (onStart(), onResume(), onPause() и т. Д.).

Производные классы должны вызывать реализацию этого метода в суперклассе. Если они этого не сделают, будет выдано исключение.

Ссылка на документациюonCreate

onCreateView

Вызывается, чтобы фрагмент создал представление своего пользовательского интерфейса. Это необязательно, и неграфические фрагменты могут возвращать ноль (что является реализацией по умолчанию). Это будет вызываться между onCreate(Bundle) и onActivityCreated(Bundle).

Если вы вернете представление отсюда, вы позже будете вызываться в onDestroyView(), когда представление освобождается.

Ссылка на документациюonCreateView

Другие вопросы по тегам