ここ最近は業務で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件のフィードバック