ラジオボタンを使用すると、ユーザーは相互に排他的な一連のオプションから 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 にメッセージが出力されます。