![]() |
1
42
获取相同的引用
有两种重载方法:
有关详细信息 Share data between fragments |
![]() |
2
3
我把这个代码放在
这段代码帮助我监听片段中的父视图模型更改。 |
|
3
2
对于那些对SharedViewModel的定义与让两个片段使用一个视图模型感到困惑的人: SharedViewModel用于共享“数据”(假设创建了两个新实例,并将视图模型中的数据发送到两个片段),其中它不用于可观察对象,因为可观察对象寻找“相同”实例来执行操作。这意味着您需要为两个片段创建一个viewmodel实例。 IMO:谷歌应该在他们的文档中提到这一点,因为我自己认为,在引擎盖下,它们是基本上不存在的同一个实例,现在它实际上是有意义的。 编辑: Kotlin溶液: 11/25/2021
在您的活动中->
在片段1中->
在片段2中->
这样,两个片段共享一个Activity viewmodel实例,两个片段都可以使用监听器来观察它们之间的更改。 |
![]() |
4
1
创建片段而不是获取viewModel对象时 viewModels() 从中获取 activityViewModels()
|
![]() |
5
0
Kotlin答案
|
![]() |
Xsayar · 如何将两个命令绑定到WPF按钮? 6 年前 |
![]() |
Mark Denom · 我的数据绑定是如何写出长度属性的? 6 年前 |
![]() |
Dev · 如何更新绑定到UI的集合? 6 年前 |
![]() |
Detlef D Soost · 多重绑定未设置值 6 年前 |
![]() |
Jack Guo · 在MVVM中清除集合视图的正确方法 6 年前 |