При повторном клике на 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 шт):

Автор решения: Siarhei Yartsau

Я реализовал таким образом. 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 }

→ Ссылка