Я использую компоненты навигации Android и столкнулся с одной странной проблемой.Я не могу очистить задний стек для кнопки вверх, независимо от того, что я пытался.
Мой график навигации выглядит следующим образом:
Давайте возьмем 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 (который является домашним местом назначения для графика).Как ни странно, нажатие кнопки «Назад» выводит меня из приложения, как и ожидалось.