アプリにチェックボックスを追加する

Compose を試す
Jetpack Compose は Android で推奨される UI ツールキットです。Compose でコンポーネントを追加する方法を学習します。

チェックボックスを使用すると、ユーザーは選択肢のセットから 1 つ以上を選択できます。通常、チェックボックスの選択肢は縦長のリストに表示します。

material.io のチェックボックスの例を示す画像
図 1. マテリアル デザインのチェックボックスのチェックボックスの例

チェックボックスの各オプションを作成するには、レイアウトに CheckBox を作成します。チェックボックス オプションのセットを使用すると、ユーザーは複数のアイテムを選択できるため、各チェックボックスは個別に管理され、チェックボックスごとにクリック リスナーを登録する必要があります。

クリック イベントへの応答

まず、CheckBox オブジェクトをリストに含めたレイアウトを作成します。


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <CheckBox android:id="@+id/checkbox_meat"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Meat" />
    <CheckBox android:id="@+id/checkbox_cheese"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Cheese"/>
</LinearLayout>

レイアウトの準備ができたら、Activity または Fragment に移動し、CheckBox ビューを見つけて、変更リスナーを設定します。次に例を示します。

Kotlin

findViewById<CheckBox>(R.id.checkbox_meat)
    .setOnCheckedChangeListener { buttonView, isChecked ->
        Log.d("CHECKBOXES", "Meat is checked: $isChecked")
    }

findViewById<CheckBox>(R.id.checkbox_cheese)
    .setOnCheckedChangeListener { buttonView, isChecked ->
        Log.d("CHECKBOXES", "Cheese is checked: $isChecked")
    }

Java

findViewById<CheckBox>(R.id.checkbox_meat)
    .setOnCheckedChangeListener { buttonView, isChecked ->
        Log.d("CHECKBOXES", "Meat is checked: $isChecked");
    }

findViewById<CheckBox>(R.id.checkbox_cheese)
    .setOnCheckedChangeListener { buttonView, isChecked ->
        Log.d("CHECKBOXES", "Cheese is checked: $isChecked");
    }

上記のコードでは、チェックボックスのステータスが変化するたびに Logcat にメッセージが出力されます。