我的问题是一样的:Kill fragment in navigation controller
但我使用绑定,因此它正在获得 NPE,我没有要通过的 id
代码:在点击提交按钮时,我这样做了,所以它来到了 FragmentA,但是当我按下返回时,再次来到 C,而不是用户应该退出应用程序。
val action = CheckoutFragmentDirections.actionCheckoutFragmentToProductFragment()
findNavController().navigate(action)
答案 0 :(得分:0)
在操作标签内的 nav_graph 内添加此内容
app:popUpTo="@id/homeFragment"
完整代码:
fragment
android:id="@+id/welcomeFragment"
android:name="com.jimmytrivedi.kotlin.navcomponent.WelcomeFragment"
android:label="{username}"
tools:layout="@layout/fragment_welcome">
<argument
android:name="username"
app:argType="string" />
<argument
android:name="password"
app:argType="string" />
<action
android:id="@+id/action_welcomeFragment_to_homeFragment"
app:destination="@id/homeFragment"
app:enterAnim="@anim/slide_in_right"
app:exitAnim="@anim/slide_out_left"
app:popEnterAnim="@anim/slide_in_left"
app:popExitAnim="@anim/slide_out_right"
app:popUpTo="@id/homeFragment"
app:popUpToInclusive="true" />
</fragment>
答案 1 :(得分:0)
这个代码块对我有用
navController.popBackStack(R.id.A, false)