将应用程序传递给AndroidViewModel
我想为我的视图模型使用AndroidViewModel来访问Context
。 它要求Application
作为参数传递。 我的ViewModel类看起来像这样:
class FooAndroidViewModel(application: Application?) : AndroidViewModel(aplication) { ... }
它得到像这样实例化:
val fooModel = ViewModelProviders.of(this).get(FooAndroidViewModel::class.java)
问题是,这给出了一个错误, FooAndroidViewModel
不能实例化 – 可能是因为缺少application
参数。
问题:如何将application
传递给ViewModelProviders.of(this).get(FooAndroidViewModel::class.java)
?
只需更换application: Application?
到application: Application
。
以下代码应该工作:
class FooAndroidViewModel(application: Application) : AndroidViewModel(aplication) { ... }