1、findNavController().navigateUp()
这个方式对导航组件进行的出栈简单粗暴,仅仅是把当前栈顶的组件进行出栈,方法的boolean型返回值表示是否出栈成功。如果如果导航失败的话我们可以主动对组件的出栈进行逻辑上的补救
代码示例
val navigarionResult = findNavController().navigateUp()
println(“是否导航出栈成功:$navigarionResult”)
2、findNavController().popBackStack(R.id.AFragment,false)
这个方法用于执行返回指定页面的操作,例如本例: 进入的时候我们点击AFragment的按钮跳转到BFragment,在BFragment中执行如下代码:
val popBackStack = findNavController().popBackStack(R.id.AFragment,false)
println(“是否返回:$popBackStack”)
就可以指定返回AFragment。
popBackStack的第二个参数说明:
true:从B返回A的时候会把A出栈,然后重新打开A
false:从B返回A的时候A不会出栈,保留跳转到B之前的状态
popUpTo 和 popUpToInclusive
先看一下我们的导航图代码
<?xml version