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

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 にメッセージが出力されます。