Поведение кнопки «Назад» с BottomNavigationView, реализованным с использованием компонента навигации - PullRequest
0 голосов
/ 28 января 2020

Я создал nav_graph. xml для android компонента навигации и добавил четыре фрагмента для четырех разных видов. Теперь добавлены BottomNavigationView и пункты меню, использованы идентификаторы фрагментов из nav_graph и предоставлены эти идентификаторы для каждого пункта меню для нижней навигации. Он работает и показывает конкретный фрагмент для выбранного элемента меню в виде навигации снизу.

<menu xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:id="@+id/nav_fragmentA"
          android:title="@string/menu_search"
          android:icon="@drawable/ic_search" />
     <item android:id="@+id/nav_fragmentB"
          android:title="@string/menu_settings"
          android:icon="@drawable/ic_add" />
     <item android:id="@+id/nav_fragmentC"
          android:title="@string/menu_navigation"
          android:icon="@drawable/ic_action_navigation_menu" />
     <item android:id="@+id/nav_fragmentD"
          android:title="@string/menu_navigation"
          android:icon="@drawable/ic_action_navigation_menu" />
 </menu>

Проблема: когда пользователь нажимает какие-либо пункты меню несколько раз и нажимает кнопку возврата. Он перемещается по всему заднему стеку, а скорее идет к первому пункту меню и выходит из приложения.

Например

  • Четыре нижних пункта меню: AB C D
  • Навигация пользователя: A -> C -> B-> D-> B -> C -A-> D
  • Поведение кнопки возврата: D-> A -> C -> B -> DB -> C -> A-> Exit (обратная навигация пользователя)

Хотите добиться поведения, как показано ниже:

  • Пользователь перемещается по меню пункты: A -> C -> B-> D-> B -> C -A-> D (произвольная навигация)
  • Кнопка возврата: D-> A-> Выход (с любой выбранный элемент в первую очередь, а затем выйти)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...