Я использую в своем приложении график навигации. У меня нижняя панель навигации. В моем основном действии я смотрю на свои навигационные компоненты следующим образом:
setContentView(R.layout.activity_main)
val navView: BottomNavigationView = findViewById(R.id.nav_view)
val navController = findNavController(R.id.nav_host_fragment)
// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
val appBarConfiguration = AppBarConfiguration(setOf(
R.id.navigation_artist_list, R.id.navigation_dashboard, R.id.navigation_notifications))
setupActionBarWithNavController(navController, appBarConfiguration)
navView.setupWithNavController(navController)
Это запускает мои навигационные компоненты, которые раздувают настройку фрагментации в R.id.navigation_artist_list
.
От наблюдателя в этом фрагмент Я перехожу к другому фрагменту с помощью:
viewModel.selectedAlbum.observe(this, Observer { artist ->
val action = HomeFragmentDirections.actionNavigationHomeToAlbumFragment(artist)
root.findNavController().navigate(action)
})
Однако ни один из доступных механизмов навигации не работает должным образом. Кнопка «Назад» просто обновляет фрагмент и снова заполняет список во фрагменте. Кнопка «Назад» на панели действий полностью игнорируется.
Нужно ли мне делать что-то еще для правильного поведения кнопки «Назад», чтобы go вернуться к предыдущему фрагменту?
видео проблемы