如何从自定义View中获取与Activity关联的ViewModel?
问题:能获取与Fragment关联的ViewModel,但无法获取与Activity关联的ViewModel
可行写法
- Fragment 代码:
private val mainViewModel: MainViewModel by viewModels()
- 自定义View 代码:
private val mainViewModel by lazy { ViewModelProvider(findViewTreeViewModelStoreOwner()!!).get<MainViewModel>() }
不可行写法
- Fragment 代码:
private val mainViewModel: MainViewModel by activityViewModels()
- 自定义View 代码:
private val mainViewModel by lazy { ViewModelProvider(findViewTreeViewModelStoreOwner()!!).get<MainViewModel>() }
内容的提问来源于stack exchange,提问作者Greelings
相关产品推荐
相关产品推荐

