2017-06-09 50 views
0

我想爲我的視圖模型使用AndroidViewModel以訪問Context。它要求Application作爲參數傳遞。我的ViewModel類看起來是這樣的:將應用傳遞給AndroidViewModel

class FooAndroidViewModel(application: Application?) : AndroidViewModel(aplication) { 
    ... 
} 

是越來越實例是這樣的:

val fooModel = ViewModelProviders.of(this).get(FooAndroidViewModel::class.java) 

的問題是,這給出了一個錯誤,那FooAndroidViewModel不能被實例化 - 可能是因爲缺少application參數。


問題:如何通過applicationViewModelProviders.of(this).get(FooAndroidViewModel::class.java)

回答

3

只需將application: Application?替換爲application: Application即可。

下面的代碼應該工作:

class FooAndroidViewModel(application: Application) : AndroidViewModel(aplication) { 
    ... 
} 
+0

嗯,實際上只是想通了,它是雙向的方式。 – Oleg