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

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

Сообщение Anonymous »

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

В соответствии с навигацией 2.4.0-alpha01:

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

BottomNavigationView.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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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