[Kotlin] Buttonのクリックを処理する

ここ最近は業務でKotlinを書く機会がとても増えています。
しかし、私の著書のAndroid SDKポケットリファレンスは残念ながらまだKotlin化は対応できていません。
おそらく当面対応するのは難しいでしょう。

そこで、今回から複数回に分けてとなりますが、Kotlinで実装した場合の実装方法をまとめていきたいと思います。
まず第1回はButtonのクリックを処理する部分からです。

今回のサンプルプロジェクトは以下に格納しています。


では、早速始めます。

ボタンの表示を行うには、レイアウトの定義が必要です。以下のように実装を行います。

activity_main.xml

    <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件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください