17

使用Android 架构的导航组件,我有以下导航图

-> [Home] -> [Articles List] -> [Specific Article]

我也有一个深层链接到[Specific Article]. 打开时,当前向上导航到[Home]

我想合成一个后台堆栈,以便向上导航返回[Articles List][Home]如果再次导航,则返回)。

这样做的导航方式是什么?

4

2 回答 2

14

根据NavDeepLinkBuilder 文档,Navigation 使用startDestination合成后退堆栈的目的地。如果您将目的地分组到嵌套导航图中,startDestination则嵌套图的 和startDestination根图的 都将添加到后退堆栈中。这使您能够[Articles List]startDestination嵌套图添加到您的后台堆栈中。

然而,强烈建议让你的合成后栈尽可能小——虽然深度为 2 或 3(如此处)很好,但不建议超过该水平,以避免用户必须重复点击的情况并点击返回按钮返回启动器。

于 2018-05-15T04:00:05.957 回答
3

文档暗示我的原始解决方案应该有效。

当用户从深层链接目的地使用后退按钮时,他们会向后导航到导航堆栈,就像他们从应用程序的入口点进入您的应用程序一样。

此外,ianhanniballake 的回答没有产生预期的结果(未打开深层链接片段)。

我在谷歌的跟踪器上为这两个问题创建了一个问题:https ://issuetracker.google.com/issues/79734195

于 2018-05-15T21:25:58.883 回答