使用Android 架构的导航组件,我有以下导航图
-> [Home] -> [Articles List] -> [Specific Article]
我也有一个深层链接到[Specific Article]
. 打开时,当前向上导航到[Home]
。
我想合成一个后台堆栈,以便向上导航返回[Articles List]
([Home]
如果再次导航,则返回)。
这样做的导航方式是什么?
使用Android 架构的导航组件,我有以下导航图
-> [Home] -> [Articles List] -> [Specific Article]
我也有一个深层链接到[Specific Article]
. 打开时,当前向上导航到[Home]
。
我想合成一个后台堆栈,以便向上导航返回[Articles List]
([Home]
如果再次导航,则返回)。
这样做的导航方式是什么?
根据NavDeepLinkBuilder 文档,Navigation 使用startDestination
合成后退堆栈的目的地。如果您将目的地分组到嵌套导航图中,startDestination
则嵌套图的 和startDestination
根图的 都将添加到后退堆栈中。这使您能够[Articles List]
将startDestination
嵌套图添加到您的后台堆栈中。
然而,强烈建议让你的合成后栈尽可能小——虽然深度为 2 或 3(如此处)很好,但不建议超过该水平,以避免用户必须重复点击的情况并点击返回按钮返回启动器。
该文档暗示我的原始解决方案应该有效。
当用户从深层链接目的地使用后退按钮时,他们会向后导航到导航堆栈,就像他们从应用程序的入口点进入您的应用程序一样。
此外,ianhanniballake 的回答没有产生预期的结果(未打开深层链接片段)。
我在谷歌的跟踪器上为这两个问题创建了一个问题:https ://issuetracker.google.com/issues/79734195