Чем отличаются методы жизненного цикла 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