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

使用Android导航架构组件重新创建Backback,android,back-stack,android-navigation,android-jetpack,android-architecture-navigation,Android,Back Stack,Android Navigation,Android Jetpack,Android Architecture Navigation,我正在尝试使用通知中的PendingEvent实现对我应用程序特定细节页面的导航,但是我在从细节页面一直返回到起始目的地的过程中遇到问题 我制作了一个示例应用程序,其中包含一个活动和三个片段来演示: Fragment 1 -> Fragment 2 -> Fragment 3 (start dest) <- <- 从片段3,当我调用Navigation.findNavController(这个,R.id.nav_host_片段).

我正在尝试使用通知中的PendingEvent实现对我应用程序特定细节页面的导航,但是我在从细节页面一直返回到起始目的地的过程中遇到问题

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

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

从片段3,当我调用
Navigation.findNavController(这个,R.id.nav_host_片段).navigateUp()
时,我被导航回片段1。有没有办法导航到新创建的片段2?

多亏M.G指向了正确的方向,我已经通过使用导航库手动创建backbackback来解决这个问题。这意味着依次调用
findNavController(…)。多次导航(…)
以创建backbackback

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

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

这是从片段3调用navigatesUp()转到片段1时的预期行为,因为这是堆栈上的片段,而片段2尚未创建。因此,如果要更改此行为,应该手动执行,因为navigateUp()将转到上一个片段。
findNavController.navigate(R.id.fragment1, ...)
findNavController.navigate(R.id.fragment2, ...)
findNavController.navigate(R.id.fragment3, ...)