Невозможно очистить задний стек всех фрагментов с помощью компонентов навигации - PullRequest
1 голос
/ 17 июня 2019

Я использую компоненты навигации Android и столкнулся с одной странной проблемой.Я не могу очистить задний стек для кнопки вверх, независимо от того, что я пытался.

Мой график навигации выглядит следующим образом:

Navigation Graph

Давайте возьмем LoginFragment, например,

<fragment
    android:id="@+id/loginFragment"
    android:name="com.yashovardhan99.firebaselogin.LoginFragment"
    android:label="Login"
    tools:layout="@layout/fragment_login" >
    <action
        android:id="@+id/action_loginFragment_to_welcomeFragment"
        app:destination="@id/welcomeFragment"
        app:popUpTo="@+id/nav_graph"
        app:popUpToInclusive="true" />
</fragment>

Java-код для навигации:

navController.navigate(
        LoginFragmentDirections.actionLoginFragmentToWelcomeFragment());

Я установил PopUpTo для идентификатора графа и установил Inclusive в true,Это должно очистить задний стек при переходе к WelcomeFragment.Тем не менее, WelcomeFragment все еще показывает кнопку «Вверх» на панели действий, и нажатие на нее возвращает меня к PreLoginFragment (который является домашним местом назначения для графика).Как ни странно, нажатие кнопки «Назад» выводит меня из приложения, как и ожидалось.

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