删除所有导航堆栈

时间:2019-11-25 11:17:11

标签: android

我正在使用新的jetpack导航库。在这里,我有3个片段A,B和C。A是我的主要片段。从A片段导航到B片段(A-> B)。从B到C(B-> C)。 C-> A然后是A-> C-> B-> A-> B,就像这样。如果按下系统后退按钮,我将从哪个片段导航,然后应该导航至A片段而没有任何待处理的堆栈。

1 个答案:

答案 0 :(得分:2)

将片段A放置为起始目的地,然后将它们全部添加为顶级目的地。为此,您需要一个AppBarConfiguration

private lateinit var appBarConfiguration: AppBarConfiguration

//in onCreate or somewhere
appBarConfiguration = AppBarConfiguration(
        setOf(
            R.id.fragmentA,
            R.id.fragmentB,
            R.id.fragmentC
        )
    )
setupActionBarWithNavController(navController, appBarConfiguration)