При повторном клике на BottomNavigationView (с Navigation component) пересоздаёт фрагмент заново
У меня есть три вкладки в BottomNavigationView(главная, местоположение и настройки). Также есть navConroller который рулит работой BottomNavigationView. Проблема в чём: еcли я нахожусь на вкладке местоположение(для примера) и в BottomNavigationView нажимаю на переход в местоположение(то есть просто кликаю на эту же вкладку ещё раз), андроид пересоздаёт это фрагмент заново.
Как сделать. чтобы при повторном клике не пересоздавался фрагмент?
Прилагаю код navControllera
val navController = findNavController(R.id.container_compass_fragment)
val appBarConfiguration = AppBarConfiguration(
setOf(
R.id.compassFragment,
R.id.mapFragment,
R.id.settingsFragment,
R.id.themesFragment
)
)
setupActionBarWithNavController(navController, appBarConfiguration)
bottomNavigationView.setupWithNavController(navController)
Ответы (1 шт):
Я реализовал таким образом.
override fun onNavigationItemSelected(item: MenuItem): Boolean { val navController = findNavController(R.id.container_compass_fragment) if (item.itemId != navController.currentDestination?.id) { navController.navigate( item.itemId, null, NavOptions.Builder().setPopUpTo(R.id.navigation_graph, false).build() ) } return true }