2017-06-09 23 views
0

Ich möchte AndroidViewModel für mein Ansichtsmodell verwenden, um Zugriff auf die Context zu erhalten. Es erfordert Application als Parameter übergeben werden. Meine Viewmodel-Klasse sieht wie folgt aus:Anwendung an AndroidViewModel übergeben

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

Es ist wie folgt instanziiert zu werden:

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

Das Problem ist, dass dies einen Fehler gibt, dass FooAndroidViewModel nicht instanziiert werden kann - wahrscheinlich wegen der fehlenden application Parameter .


Frage: wie application-ViewModelProviders.of(this).get(FooAndroidViewModel::class.java) passieren?

Antwort

3

Ersetzen Sie einfach application: Application? zu application: Application.

folgender Code sollte funktionieren:

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

Hmm, eigentlich nur herausgefunden, dass es sowohl die Art und Weise funktioniert. – Oleg

Verwandte Themen