在VI中,查看如何将ViewModel与ViewModelProvider一起使用



这是我的MineSaverView类:

class MineSweeperView : View {
constructor(context: Context?) : super(context)
constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs)
private var userViewModel: UserViewModel

init {
....
userViewModel = ViewModelProvider(???).get(UserViewModel::class.java)
}

ViewModelProvider(this(和(context

你不能这么做。视图包含ViewModel类是不合适的。ViewModel仅适用于LifecycleOwner,因为它们的范围是LifecycleOwner的生命周期。这就是ViewModel存在的全部原因,它的生命周期由其他生命周期对象的生命周期控制。

最新更新