我是使用Android导航组件,遇到了一个奇怪的问题。无论我尝试什么方法,都无法清除返回按钮的后退栈。
我的导航图如下:
我已将PopUpTo设置为图表ID,并将Inclusive设置为true。这应该在移动到WelcomeFragment时清除后退堆栈。然而,WelcomeFragment仍然显示操作栏上的“向上”按钮,按下它会带我回到PreLoginFragment(这是图表的主目标)。奇怪的是,按下返回按钮会如预期地将我退出应用程序。
我的导航图如下:
以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设置为图表ID,并将Inclusive设置为true。这应该在移动到WelcomeFragment时清除后退堆栈。然而,WelcomeFragment仍然显示操作栏上的“向上”按钮,按下它会带我回到PreLoginFragment(这是图表的主目标)。奇怪的是,按下返回按钮会如预期地将我退出应用程序。