Ответ
Фрагменты — это переиспользуемые компоненты UI, которые могут быть вложены в Activity.
Ключевые особенности:
- Жизненный цикл зависит от Activity, но имеет свои методы (
onCreateView,onViewCreated). - Back Stack — можно добавлять транзакции в стек для навигации назад.
- Аргументы — передача данных через
Bundle(лучше использоватьsetArguments()). - Коммуникация — через интерфейсы или ViewModel (избегайте прямого взаимодействия с Activity).
- View Binding — рекомендуется для работы с UI (уменьшает boilerplate).
class MyFragment : Fragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
return inflater.inflate(R.layout.fragment_my, container, false)
}
}
⚠️ Важно: избегайте утечек памяти (не храните ссылки на View в полях фрагмента).