Android在使用NavController时导航右图

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

我目前正在我的项目中使用Android导航架构。它具有可以使用快捷方式启动任何片段的功能。假设我的导航图如下所示:A-> B-> C-> D.当我在片段A时,我使用NavController.navigate(R.id.fragment_d)直接导航到片段D.但当我按下后退按钮时,它会返回到片段A.有没有办法让目的地导航回导航图中的父节点? (我的意思是,在这种情况下,D回到C,B然后回到A)。提前致谢。

android android-architecture-navigation
1个回答
0
投票

通常,您应该始终避免在自己的应用程序中创建合成后备堆栈(并且只有在从应用程序外部的深层链接启动应用程序时才这样做,即通过app shortcut)。

但是,您可以通过以下两种方式之一来解决此问题:

  1. 如果您可以在A上重置状态,则可以使用NavDeepLinkBuilder构建一组适合在所选目标上重新启动任务的Intent: navController.createDeepLink() .setDestination(R.id.destination_d) .createTaskStackBuilder() .startActivites()
  2. 只需多次致电navigate()navController.navigate(R.id.destination_b) navController.navigate(R.id.destination_c) navController.navigate(R.id.destination_d)
© www.soinside.com 2019 - 2024. All rights reserved.