Фрагменты (Fragment) представляют собой модульные части пользовательского интерфейса (UI), которые живут внутри Activity.
Жизненный цикл:
Жизненный цикл фрагмента тесно связан с жизненным циклом Activity, в которой он находится. События Activity (такие как onCreate, onPause, onDestroy) вызывают соответствующие колбэки у содержащихся в ней фрагментов.
kotlin
Взаимодействие:
Activity через метод getActivity(). Это часто используется для доступа к контексту, ресурсам или вызовам методов Activity.Activity управляет фрагментами через FragmentManager. Она может добавлять, удалять, заменять или взаимодействовать с фрагментами по их тегу или идентификатору.kotlin
Навигация:
Фрагменты часто используются для реализации навигации между различными экранами приложения в одной Activity. FragmentManager и FragmentTransaction позволяют динамически менять отображаемые фрагменты, создавая стек переходов ("back stack").
Контекст:
Фрагмент имеет доступ к контексту приложения через свою Activity (activity?.applicationContext). В большинстве случаев для доступа к ресурсам или выполнения операций, требующих контекста, используется контекст Activity (requireContext() или getActivity()).
Резюме:
Фрагмент не может существовать самостоятельно вне Activity. Activity является контейнером и управляющим звеном для фрагментов, предоставляя им контекст и ресурсы, а также управляя их жизненным циклом. Фрагменты, в свою очередь, позволяют создавать более гибкий и модульный UI, упрощая разработку для различных размеров экрана и ориентаций.