Изначально фрагменты придумали когда-то давно (в android 3), потому что люди стали пользоваться планшетами и там приложения растягивались и выглядели не очень.
Что можем сказать о фрагментах:
- У каждого фрагмента свой layout и свой жизненный цикл.
- Мы можем удалять, добавлять и менять фрагменты внутри одной активити.
- Один фрагмент можно использовать в нескольких активити.
- Жизненный цикл фрагмента связан с жизненным циклом активити, к которой он присоединен. Например, если активити перешла в pause, то все фрагменты тоже это делают.
- Фрагмент управляется с помощью fragmentManager и транзакций. Любое изменение (удаление, добавление и т.п.) — это как раз транзакция.
Методы жизненного цикла:
- onAttach() — метод, который вызывается первым. Тут мы понимаем, что фрагмент присоединен к активити.
- onCreate() — тут фрагмент проинициализирован. Вызывается сразу же после onAttach.
- onCreateView() — вызывается, когда пришло время отрисовывать интерфейс. Тут возвращаем view. Не стоит тут делать еще какие-либо операции.
- onViewCreated() — вью уже создана, так что тут можем проинициализировать всё, что нам нужно.
- onActivityCreated() — вызывается, когда активити завершает метод onCreate(). Активити теперь создана.
- onStart() — фрагмент становится видимым.
- onResume() — фрагмент видимый и юзер может взаимодействовать.
- onPause() — юзер не может взаимодействовать. Например, началась смена фрагмента или он удаляется.
- onStop() — фрагмент больше не видимый.
- onDestroyView() — вызывается, когда вью и её ресурсы, созданные в onCreateView() удалены и уничтожены.
- onDestroy() — Вызывается, когда фрагмент освобождает ресурсы и чистит всё.
- onDetach() — Фрагмент отсоединен от активити. Конец. :)
Дубль статей в телеграмме — https://t.me/android_junior
Мой твиттер в телеграмме — https://t.me/android_junior_notes