Ich habe das folgende Bit Code in meinem HomeActivity
zu verwenden LiveData
.Kotlin Syntax für LiveData Beobachter?
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Show the launch splash screen.
//
this.setContentView(R.layout.activity_home)
this.viewModel = ViewModelProviders.of(this).get(HomeViewModel::class.java)
this.viewModel.getUser().observe(this, Observer { user: User? ->
});
}
Während dies zu funktionieren scheint, was bedeutet der folgende Teil?
Observer { user: User? ->
}
Dies muss in einem Objekt entstanden sind, zu der Observer
Schnittstelle entspricht, die
void onChanged (T t)
https://developer.android.com/reference/android/arch/lifecycle/Observer.html
hat Wie funktioniert
Observer { user: User? ->
}
Ergebnis in einem Objekt mit einem onChanged
Verfahren ?
Ich weiß nicht, was bedeutet, den Namen einer Schnittstelle vor einem Lambda-Ausdruck bedeutet.
Danke!
Vielen Dank, s1m0nw1. Was wäre die ausführlichere Schreibweise, die die onChanged-Methode explizit definiert? –
Wenn Sie die Schnittstelle die normale Art und Weise Wie Klasse MyObserver implementieren: Observer {// Methode impl} – s1m0nw1
Es scheint, kann es als 'this.viewModel.getUser() geschrieben werden beobachten (this, Objekt:. Observer { Überschreibung fun onChanged (Benutzer: Benutzer?) { } }); ' –