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

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

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

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

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

クリック イベントに応答する

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

次の例は、ユーザーがグループ内の 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");
}

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