ここ最近は業務でKotlinを書く機会がとても増えています。
しかし、私の著書のAndroid SDKポケットリファレンスは残念ながらまだKotlin化は対応できていません。
おそらく当面対応するのは難しいでしょう。
そこで、今回から複数回に分けてとなりますが、Kotlinで実装した場合の実装方法をまとめていきたいと思います。
まず第1回はButtonのクリックを処理する部分からです。
今回のサンプルプロジェクトは以下に格納しています。
では、早速始めます。
ボタンの表示を行うには、レイアウトの定義が必要です。以下のように実装を行います。
<Button
android:id="@+id/show_toast_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Toastの表示"/>
Javaでボタンのクリックを行うビジネスロジックを書く場合は、以下のように書くかと思います。
Button toastButton = findViewById(R.id.show_toast_button);
toastButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(this, "テストメッセージです", Toast.LENGTH_SHORT).show();
}
});
これがKotlinになると以下のように簡略化されます。
MainActivity.kt
val toastButton: Button = findViewById(R.id.show_toast_button)
toastButton.setOnClickListener {
Toast.makeText(this, "テストメッセージです", Toast.LENGTH_SHORT).show()
}
クリックイベントのリスナーオブジェクトの生成処理が一式省略できるので、とても簡潔なコードにすることが可能です。
上記を実行した結果は以下のようになります。

Kotlinを始める第一歩にしてみてください。
「[Kotlin] Buttonのクリックを処理する」への7件のフィードバック