我在使用新的 android 导航组件创建后退堆栈时遇到问题。我有一个带有启动片段的主图,一个具有自己的图的 loginregister 根片段,一个带有相应步骤 1 图的板载步骤 1 片段,带有步骤 2 图的步骤 2 片段,以及一个主页片段。当用户登录时,他们可以去 step1、step2 或 home。如果他们进入第 2 步,我希望他们能够反击并在第 1 步结束,甚至更好的是第 1 步图表的最后一个片段。我尝试过设置全局操作和设置 popTo,但我经常收到一个错误,说它忽略了 popTo,因为 step1 不是后堆栈的一部分。在屏幕上有一个按钮可以返回,这样我就可以使用全局操作调用导航,但是当使用硬返回按钮时,它将从第 2 步转到登录/注册。
即使只是一个图的简单案例,片段 A、B、C、D。用户可以在任何片段处进入应用程序。如果我只是尝试使用 BtoC 操作导航到片段 C,则此控制器未知此操作的错误。目前,我必须一个接一个地打几个导航电话。
在导航培训文档中,它说“在这两种情况下,您应该通过将完整的向上导航路径插入到任务的后退堆栈中来使后退按钮更可预测到应用程序的最顶层屏幕。”但我找不到任何地方真正展示了如何使用 NavController 和单活动应用程序来做到这一点。
任何见解将不胜感激。