首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android viewModel和Kotlin: viewModel数据与谁共享?

问Android viewModel和Kotlin: viewModel数据与谁共享?
EN

Stack Overflow用户
提问于 2018-05-24 18:55:56
回答 1查看 930关注 0票数 0

我学习了viewModel课程,并做了一个简单的测试来理解这个理论(初学者)。我搜索了其他来源,我不确定来自这个viewModel的数据是与谁共享的。使用一个属性创建了一个简单的viewModel类:

代码语言:javascript
复制
class MyViewModel: ViewModel() {
    var result: Int? = null
}

两个位置的值设置为viewModel:

根系活性

代码语言:javascript
复制
val model = ViewModelProviders.of(this).get(MyViewModel::class.java)
model.result = 6

A段:

代码语言:javascript
复制
val model = ViewModelProviders.of(activity).get(MyViewModel::class.java)
model.result = 9

当从活动访问属性时,我看到6。当一个片段B访问它(两个片段都是相同活动的子片段)时,我看到了9个。没错?活动使用的viewModel仅对另一个活动可见吗?或者,如果一个片段使用了viewModel,那么它也只能对其他片段可见?如果是的话,要见面,我需要使用诸如捆绑,争论,意图或其他东西吗?我会感谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-27 06:03:59

ViewModelProviders.of(activity)检索的视图模型仅共享给该活动及其幼童(片段)。除非创建自己的ViewModel类,否则不能在多个活动之间共享ViewModelProvider。

如果您需要在您的活动之间共享数据,您应该遵循存储库模式,并首先将数据存储在存储库中(该存储库绑定到应用程序而不是活动),并从该存储库检索其他活动中的数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50516346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档