【发布时间】:2020-07-18 04:33:20
【问题描述】:
我正在为我的PhotoEditorActivity 使用 MVVM 架构,该活动扮演 View 角色。当用户单击“Pick Image”按钮时,我想启动图库以选择图像并取回其 uri 以更新 ImageView。我不知道在哪里打电话给startActivityForResult()。
- 从 View 调用
startActivityForResult():这样,Activity 处理一切,ViewModel 和 Model 变得多余。 - 从 ViewModel 调用
startActivityForResult(),View 从 ViewModel 观察 Uri:我可以将Context传递给 ViewModel 以启动活动,但我无法接收 uri,因为 ViewModel 没有onActivityResult()。 - 从 Model 调用
startActivityForResult():View 将Context传递给 ViewModel,ViewModel 继续将Context传递给 Model。使用这种方式,我在使用第二种方式时面临同样的问题。
能否请您帮我如何正确地为这项业务应用 MVVM。每个组件应该包含什么?感谢您的关注。
【问题讨论】: