в чем разница между методами жизненного цикла onCreate() и onCreateView() во фрагменте?

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

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


person Cabezas    schedule 01.12.2014    source источник
comment
проверьте документы разработчика Android и, возможно, вы найдете решение   -  person Sarthak Mittal    schedule 01.12.2014
comment
Вы читали фрагменты жизненного цикла?   -  person Elltz    schedule 01.12.2014
comment
Google – google.co.in/   -  person Vinayak Bevinakatti    schedule 01.12.2014


Ответы (3)


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

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

person M D    schedule 01.12.2014
comment
что ты имеешь в виду под иногда? - person Bouh; 14.09.2020
comment
Я думаю, он имел в виду некоторое время после метода oncreate - person Dhruv Sangvikar; 16.03.2021

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

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

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

person fada21    schedule 01.12.2014
comment
Простые ссылки не отвечают на вопросы. Например, в жизненном цикле нет упоминания о createView. - person Alberto M; 09.12.2020

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

при создании

Вызывается при запуске активности.

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

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

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

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

онкреатевиев

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

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

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

person Don Chakkappan    schedule 01.12.2014
comment
Это не отвечает на вопрос, поскольку описанный onCreate() относится к Activity. Причина в том, что вопрос задается о Фрагменте. Не говоря уже о том, что у Fragment нет метода setContentView(). - person Wei Chan; 27.02.2019