Как вернуться к корневому фрагменту или вершине иерархии, используя компонент контроллера навигации в Android? - PullRequest
0 голосов
/ 21 апреля 2019

Допустим, у меня есть 4 вкладки в нижней части навигации. и если пользователь выберет одну из этих вкладок, он перейдет от одного фрагмента к другим фрагментам.

допустим, пользователь выбрал первую вкладку (домашнюю), а затем переместился из:

фрагмент A (дом) -> фрагмент B -> фрагмент C -> фрагмент D -> фрагмент E

Я хочу вернуться от фрагмента E к фрагменту A программно, используя компонент контроллера навигации в Android. как это сделать?

Я пытался использовать этот код, но он просто вернулся к фрагменту D (форма фрагмента E)

btn.setOnClickListener{
 Navigation.findNavController(view).navigateUp()
}

1 Ответ

0 голосов
/ 21 апреля 2019

NavController s popBackStack(int, boolean) возвращается к определенному идентификатору назначения:

Пытается вернуть задний стек контроллера назад к определенному назначению.

Следовательно, вы можете использовать

Navigation.findNavController(view).popBackStack(R.id.fragmentA, false)

Для возврата к фрагменту A без извлечения самого фрагмента A (именно поэтому флаг inclusive равен false).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...