繁体   English   中英

使用Android导航架构组件重新创建Backstack

[英]Recreating backstack with Android Navigation Architecture Component

我正在尝试使用PendingIntent从通知中实现导航到我的应用程序的特定详细信息页面,但是我在从详细信息页面一直重新创建回溯到起始目的地时遇到了问题。

我在这里制作了一个示例应用程序其中包含一个活动和三个片段来演示:

Fragment 1   ->   Fragment 2  ->  Fragment 3
(start dest) <-               <-

从片段1(起始目的地),我使用直接导航到片段3

    Navigation.findNavController(this, R.id.nav_host_fragment).navigate(R.id.fragment2,
            null,
            NavOptions.Builder()
                    .build())

从Fragment 3开始,当我调用Navigation.findNavController(this,R.id.nav_host_fragment).navigateUp()我将导航回Fragment 1.有没有办法Navigation.findNavController(this,R.id.nav_host_fragment).navigateUp()导航到新创建的Fragment 2?

感谢MG指向正确的方向,我设法通过使用导航库手动创建backstack来解决这个问题。 这意味着顺序调用findNavController(...).navigate(...)多次以创建一个backstack。

例如,当我深入链接到片段3但想要向上导航回到片段1和2时,我调用:

findNavController.navigate(R.id.fragment1, ...)
findNavController.navigate(R.id.fragment2, ...)
findNavController.navigate(R.id.fragment3, ...)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM