如何从 activity 访问共享视图模型?
how can i access a shared view model from an activity?
我有一个 activity,里面有很多片段,我想在片段之间使用共享视图模型来共享东西,但是当我按照片段中的方式初始化它时,它不起作用, 它显示错误,如果可能的话,正确的访问方式是什么?
val model : sharedViewModel by activityViewModels()
我尝试过使用 ViewModelProvider 但不知道如何正确使用,因为我正在使用 kotlin 进行编码
要让一个公共 activity 实例中的多个片段共享一个视图模型,片段可以使用 by activityViewModels()
属性 委托。此 returns 范围为 activity 的视图模型。
如果您也希望activity使用此视图模型,activity将使用更简单的by viewModels()
声明它属性代表。他们没有为 activity 创建 activityViewModels()
,因为它与更简单的 viewModels()
.
相同
我建议您阅读 Share data between fragments 文档
Activity 使用 viewModels<T>()
碎片使用activityViewModels<T>()
我有一个 activity,里面有很多片段,我想在片段之间使用共享视图模型来共享东西,但是当我按照片段中的方式初始化它时,它不起作用, 它显示错误,如果可能的话,正确的访问方式是什么?
val model : sharedViewModel by activityViewModels()
我尝试过使用 ViewModelProvider 但不知道如何正确使用,因为我正在使用 kotlin 进行编码
要让一个公共 activity 实例中的多个片段共享一个视图模型,片段可以使用 by activityViewModels()
属性 委托。此 returns 范围为 activity 的视图模型。
如果您也希望activity使用此视图模型,activity将使用更简单的by viewModels()
声明它属性代表。他们没有为 activity 创建 activityViewModels()
,因为它与更简单的 viewModels()
.
我建议您阅读 Share data between fragments 文档
Activity 使用 viewModels<T>()
碎片使用activityViewModels<T>()