Android 导航 - 在返回堆栈操作上传递参数

时间:2021-04-13 06:38:32

标签: android navigation arguments

我刚刚开始使用 JetPack Navigation,并且正在迁移一个简单的预导航应用。这比旧的界面和手动片段管理器机制简单得多!

当从不应出现在返回堆栈中的片段传递控制时,我正在寻找一些最佳实践建议 - 您典型的登录类型场景,更具体地说,如何最好地从该片段返回一些有限的上下文。对于所有其他片段转换,我使用操作和相关参数来传递此上下文,这工作正常。

我目前正在通过强制后退 (requireActivity().onBackPressed()) 从登录类型片段返回到主显示片段。这从后台堆栈中干净地删除了登录片段的任何痕迹,但我还没有找到任何方法来更新可从主显示访问的上下文参数。

无法通过任何机制在后台访问这些参数,我可以看到的两个潜在模型是;

  • 将上下文切换到 ViewModel。这感觉有点像传统代码中旧的全局数据场景,并没有那么舒服。
  • 将 onBackPressed 迁移到正常操作,并使用其他一些机制从返回堆栈中清除登录片段工件。

我在这里遗漏了什么吗?实现这一目标的正常做法是什么。

谢谢和问候 - 安德鲁

0 个答案:

没有答案
相关问题