Восстановление состояний пунктов меню из пользовательского BottomNavigationView с помощью Jetpack NavigationAndroid

Форум для тех, кто программирует под Android
Anonymous
Восстановление состояний пунктов меню из пользовательского BottomNavigationView с помощью Jetpack Navigation

Сообщение Anonymous »

Как настроить с помощью NavController пользовательский BottomNavigationView со вставкой FloatingActionButton (FAB)?
Изображение

В соответствии с Jetpack Navigation…

Начало в навигации 2.4.0-alpha01 состояние каждого пункта меню
сохраняется и восстанавливается при использовании setupWithNavController.

Это работает просто чудесно, однако, когда я настраиваю BottomNavigationView и нажимаю FAB, состояния текущих пунктов меню перезагружаются. Как я могу добиться такого же поведения при нажатии на любой пункт меню с помощью FAB?

Код: Выделить всё

binding.activityMainBottomNavigationView.setupWithNavController(navController)

binding.activityMainFloatingActionButton.setOnClickListener {

// TODO: Fix navigation.
navController.navigate(R.id.homeFragment)

binding.activityMainBottomNavigationView.selectedItemId = R.id.homeFragment
}
Насколько я понимаю, вызов navController.navigate() может сбрасывать текущий nav_graph, используемый фрагментомContainerView, и поэтому текущие пункты меню перезагружаются. Есть ли способ избежать этого?


Подробнее здесь: https://stackoverflow.com/questions/687 ... ck-navigat

Вернуться в «Android»