AndroidアプリをKotlinで開発しています。
以下の処理を何とか書きました。
チェックボックスを押したらトーストが表示されるだけです。
checkBox.setOnCheckedChangeListener(object : CompoundButton.OnCheckedChangeListener {
override public fun onCheckedChanged(buttonView:CompoundButton?, isChecked:Boolean) {
Toast.makeText(this@MyActivity, "checed change", Toast.LENGTH_SHORT).show();
}
});
この数行だけでもいくつかKotlin独自の書き方が出てきたのでメモしておきます。
無名オブジェクトの書き方
Fooクラス(インタフェース)に対する無名オブジェクトは以下のような書き方をします。
val foo = object : Foo {}
override
overrideはアノテーションの書き方ではないので注意です。
最近の言語はだいたいこんな感じの書き方が多いですね。
override public fun fuga(bool:Boolean) {
//fugafuga
}
thisキーワード
this
の書き方もJavaとは結構違いますので注意。
val object = this@Buz //Buzクラスのオブジェクトを取得