如何使用Android中的导航控制器组件返回根分片或层次结构的顶部?

问题描述 投票:0回答:1

假设我在底部导航视图中有4个选项卡。如果用户选择其中一个选项卡,则用户将从一个片段导航到其他片段。

假设用户选择第一个选项卡(主页),然后从以下位置导航:

fragmentA(home) - > fragmentB - > fragmentC - > fragmentD - > fragmentE

我想使用Android中的导航控制器组件以编程方式从片段返回到片段。怎么做 ?

我试过使用这段代码,但它只是回到片段(来自片段)

btn.setOnClickListener{
 Navigation.findNavController(view).navigateUp()
}
android android-jetpack android-navigation android-architecture-navigation
1个回答
0
投票

NavControllerpopBackStack(int, boolean)弹回特定的目的地ID:

尝试将控制器的后端堆栈弹回特定目标。

因此你可以使用

Navigation.findNavController(view).popBackStack(R.id.fragmentA, false)

弹回fragmentA而不弹出fragmentA本身(这就是为什么inclusive标志是false)。

© www.soinside.com 2019 - 2024. All rights reserved.