アプリにラジオボタンを追加する

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

ラジオボタンを使用すると、ユーザーは相互に排他的な一連のオプションから 1 つのオプションを選択できます。利用可能なオプションの一覧を表示する必要がある場合は、ラジオボタンを使用します。すべてのオプションを表示する必要がない場合は、代わりにスピナーを使用してください。

material.io のラジオボタンの例
図 1.マテリアル デザインのラジオボタンの例

ラジオボタンの各オプションを作成するには、レイアウトに RadioButton を作成します。ラジオボタンは相互に排他的であるため、RadioGroup 内でグループ化します。システムは、グループ内で一度に 1 つのラジオボタンのみを選択できるようにします。

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

ユーザーがラジオボタンを選択すると、対応する RadioButton オブジェクトが on-click イベントを受け取ります。

次の例は、グループ内の RadioButton オブジェクトをタップしたユーザーのリアクションを示しています。

<?xml version="1.0" encoding="utf-8"?>
<RadioGroup
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <RadioButton android:id="@+id/radio_pirates"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Pirates"/>
    <RadioButton android:id="@+id/radio_ninjas"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Ninjas"/>
</RadioGroup>

このレイアウトをホストする Activity または Fragment 内で、ラジオボタンを見つけて、次のようにラジオボタンごとに変更リスナーを設定します。

Kotlin

findViewById<RadioButton>(R.id.radio_pirates).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Pirates is checked: $isChecked")
}

findViewById<RadioButton>(R.id.radio_ninjas).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Ninjas is checked: $isChecked")
}

Java

findViewById<RadioButton>(R.id.radio_pirates).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Pirates is checked: $isChecked");
}

findViewById<RadioButton>(R.id.radio_ninjas).setOnCheckedChangeListener { buttonView, isChecked ->
    Log.d("RADIO", "Ninjas is checked: $isChecked");
}

この例では、ユーザーがいずれかのラジオボタンをタップすると、Logcat にメッセージが出力されます。