我有一个包含 2 个片段的活动,每个片段包含各种自定义视图。
如何在这些自定义视图之间共享 ViewModel?
-碎片-
private val mainViewModel: MainViewModel by activityViewModels()
-自定义视图-
private val mainViewModel by lazy {
ViewModelProvider(findViewTreeViewModelStoreOwner()!!).get<MainViewModel>()
}
问题是 findViewTreeViewModelStoreOwner() 返回 Fragment 而不是 Activity,创建一个新的 ViewModel 而不是共享现有的 ViewModel。
有什么方法可以在自定义视图之间共享 Activity ViewModel 吗?