私はHomeActivity
に以下のコードを書いてLiveData
を使用しています。LiveDataオブザーバのKotlin構文?
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? ->
});
}
これは機能すると思われますが、次の部分はどういう意味ですか?
Observer { user: User? ->
}
これは
void onChanged (T t)
https://developer.android.com/reference/android/arch/lifecycle/Observer.html
を有するObserver
インターフェースに準拠したオブジェクトを生じなければならないどのようonChanged
方法でオブジェクトに
Observer { user: User? ->
}
結果?
ラムダ式の前にインターフェイスの名前を入れるのはどういう意味なのでしょうか?
ありがとうございます!
ありがとう、s1m0nw1。 onChangedメソッドを明示的に定義するより冗長な記述方法は何でしょうか? –
あなたは、通常の方法ウィークラスMyObserverインタフェースを実装する場合:オブザーバー{//メソッドIMPL} – s1m0nw1
にそれは 'this.viewModel.getUser()のように書くことができそうです(これは、オブジェクトを観察:オブザーバー { オーバーライドfun onChanged(ユーザー:User?){ } }); ' –