将应用程序传递给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) { ... }