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答案
|
F. Davis · 使用实时数据,如何只显示一次对话框? 6 年前 |
Naveed · 当使用实时数据时,如何在Android中链接转换? 6 年前 |
melomg · 如何观察页面列表数据? 7 年前 |