如何从活动访问共享视图模型?

Yak*_*sem 4 android viewmodel android-fragments kotlin

我有一个包含许多片段的活动,我想在片段之间使用共享视图模型来共享内容,但是当我按照片段中的方式初始化它时,它不起作用,它显示一个错误,什么是如果可能的话,正确的访问方式是什么?

    val model : sharedViewModel by activityViewModels()
Run Code Online (Sandbox Code Playgroud)

我尝试过 ViewModelProvider 但不知道如何正确执行,因为我正在使用 kotlin 进行编码

Com*_*are 5

要使公共活动实例中的多个片段共享视图模型,片段可以使用by activityViewModels()属性委托。这将返回一个作用域为活动的视图模型。

如果您希望活动使用此视图模型,则活动将使用更简单的by viewModels()属性委托来声明它。他们没有费心去创建activityViewModels()一个活动,因为它与更简单的活动一样viewModels()