我目前正在我的项目中使用Android导航架构。它具有可以使用快捷方式启动任何片段的功能。假设我的导航图如下所示:A-> B-> C-> D.当我在片段A时,我使用NavController.navigate(R.id.fragment_d)直接导航到片段D.但当我按下后退按钮时,它会返回到片段A.有没有办法让目的地导航回导航图中的父节点? (我的意思是,在这种情况下,D回到C,B然后回到A)。提前致谢。
通常,您应该始终避免在自己的应用程序中创建合成后备堆栈(并且只有在从应用程序外部的深层链接启动应用程序时才这样做,即通过app shortcut)。
但是,您可以通过以下两种方式之一来解决此问题:
navController.createDeepLink()
.setDestination(R.id.destination_d)
.createTaskStackBuilder()
.startActivites()
navigate()
。
navController.navigate(R.id.destination_b)
navController.navigate(R.id.destination_c)
navController.navigate(R.id.destination_d)