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