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="1.0" encoding="utf-8"?>
这段导航图的代码实现如下效果: 从PopUpfragment跳转到PopUpAFragment再跳转到PopUpBFragment,正常情况下如果一直这么下去会无限跳转,产生无数个Fragment实例。
但是我们的代码中,在PopBFragment跳转PopUpfragment的activion中添加了popUpTo和popUpToInclusiv