在新的androidx.lifecycle:lifecycle-extensions:2.2.0库中,不推荐使用ViewModelProviders.of()。它建议我们应该
* @deprecated Use the 'by viewModels()' Kotlin property delegate or
* {@link ViewModelProvider#ViewModelProvider(ViewModelStoreOwner)},
* passing in the activity.
但是,我想在 Activity 和服务之间共享同一ViewModel实例,所以不能使用'by viewModels()'委派。谁能指出这样做的正确方法是什么?
非常感谢
最佳答案
只需将其替换为
Activity 中:
Kotlin: ViewModelProvider(this).get(CustomViewModel::class.java)
Java: ViewModelProvider(this).get(CustomViewModel.class)
服务中:
在服务类中使用关键字和新的创建viewModel的实例
这些对我有用:)
关于android - 不赞成使用ViewModelProviders.of()时,如何在 Activity 和服务之间共享相同的ViewModel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60258118/