Я использую NavigationUI компонентов архитектуры Android с нижней навигацией в моем приложении для Android.У меня следующая ситуация
- Приложение запускается с фрагмента A
- Первоначальный расчет завершен, и теперь я выскакиваю фрагмент A по
navController.popBackStack()
- Приложение переходит во фрагмент B (Это служит «домом» для приложения)
- Теперь есть еще фрагменты, скажем C и D
- Пользователь может перемещаться между B , C и D
Теперь проблема в моем навигационном графике, мой начальный фрагмент был A (путем определения app:startDestination="@id/fragmentA"
), но теперь это выпало из активности.Из-за этого, в любое время, если я нажимаю, приложение просто закрывается, вместо этого возвращаясь к предыдущему фрагменту.Например, допустим, я перешел к фрагменту C или D из фрагмента B , и если я нажму кнопку "Назад", мое приложение закроется вместо перехода к фрагменту B .Если есть способ «переназначить» startDestination
?
, я проверил ответ на этот вопрос, который имеет ситуацию, аналогичную описанной выше, но использование NavOptions
почему-то не работает.Есть ли другой путь?Ниже приведен код, который я использовал для вставки фрагмента и добавления опций навигации
navController.popBackStack()
val navOptions: NavOptions = NavOptions.Builder()
.setPopUpTo(R.id.homeFragment, true)
.build()
navController.navigate(R.id.action_fragmentA_to_fragmentB, null, navOptions)