微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

与Android架构导航相当的startActivityForResult()

我有3个屏幕的工作流程.从“屏幕1”到访问“屏幕2”,用户必须接受我在图片“模态”中调用的某些条款和条件.但他只需要接受这些条件一次.下次他在第一个屏幕上时,他可以直接进入屏幕2.用户可以选择不接受这些条款,因此我们返回“屏幕1”并且不要尝试转到“屏幕2”.

App workflow

我想知道如何使用新的navigation component.

以前,我会做什么:

>在屏幕1上,检查用户是否必须接受这些条件
>如果否,请启动“屏幕2”活动
>如果是,请使用startActivityForResult()并等待模态的结果.将条款标记为已接受.开始“屏幕2”

但是使用导航图,无法启动片段来获取结果.

我可以在“模态”屏幕上标记接受的条款,然后从那里开始“屏幕2”.问题是,要访问屏幕2,我需要做一个网络请求.我不想复制对API的调用并在“屏幕1”和“模态”中处理其结果.

有没有办法从“模态”回到“屏幕1”与一些信息(用户接受条款),使用Jetpack导航?

编辑:我目前通过使用Yahya建议的相同流程绕过它:使用一个仅用于模态的Activity并使用来自“screen 1”的startActivityForResult.我只是想知道我是否可以继续使用导航图来表示整个流程.

解决方法:

现在看来导航组件中的startActivityForResult没有等价物.但是如果您正在使用LiveData和viewmodel,您可能会对this article感兴趣.作者正在使用活动范围的viewmodel和LiveData来实现片段的这一目的.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐