luc*_*ino 23 architecture android components mvvm presenter
关于使用新架构组件的MVVM,我有一个问题,如果我的应用程序需要显示一个Dialog,其中有3个选项来自我的VM中发生的某些操作,我应该如何实现?谁负责向Activity/Fragment发送显示对话框的命令?
Jos*_*eca 37
打开新活动或显示对话框等UI相关操作是从视图(活动或片段)触发的,而不是从ViewModel触发的.ViewModel没有对视图的引用以防止泄漏并使表示层保持"被动".
您可以将视图(活动或片段)订阅到ViewModel中的observable,以便在更改时,您可以从视图中启动对话框或新活动.
编辑:我写了一篇关于此的文章,因为它并不简单.一种好的方法是将事件建模为您所在州的一部分,并使用事件包装器执行导航等操作:https://medium.com/google-developers/livedata-with-snackbar-navigation-and-other-events-the- singleliveevent情况下,ac2622673150
归档时间: |
|
查看次数: |
13746 次 |
最近记录: |