TL; DR:
Activity
- ваш базовый компонент для создания экранов в вашем приложении. Fragment
- динамическая c часть вашего экрана, которая была добавлена для поддержки планшетов с большими экранами.
Обычно мы объединяем их следующими способами:
- Одно действие как контейнер и все экраны, представленные как
Fragment
s
Для этого подхода вы можете либо
реализовать его самостоятельно:
Добавить фрагменты в свою деятельность stack:
supportFragmentManager
.beginTransaction()
.addToBackStack(null)
.add(containerId, fragment, fragment::class.java.simpleName)
.commit()
Замените фрагменты в своей деятельности:
supportFragmentManager
.beginTransaction()
.replace(containerId, fragment, fragment::class.java.simpleName)
.commit()
Но Android вводит Android Компонент навигации для обработки всех этих добавлений, замен и обработка обратного стека:
Я предлагаю использовать этот подход, так как он проще. ССЫЛКА
Используйте несколько действий и фрагментов
Для каждого экрана, который использует BottomNavigation, NavigationDrawer и ... используйте Activity с несколькими фрагментами, представляющими каждую вкладку внутри них.
Хороший учебник можно найти здесь. ССЫЛКА