Los botones de selección permiten que el usuario seleccione una opción de un conjunto de opciones mutuamente excluyentes. Usa botones de selección si el usuario necesita ver todas las opciones disponibles enumeradas. Si no es necesario mostrar todas las opciones, usa un ícono giratorio en su lugar.
Para crear cada opción del botón de selección, crea un RadioButton
en tu diseño. Debido a que los botones de selección son mutuamente excluyentes, agrúpalos dentro de un RadioGroup
.
El sistema garantiza que solo se pueda seleccionar un botón de selección dentro de un grupo a la vez.
Cómo responder a eventos de clic
Cuando el usuario selecciona un botón de selección, el objeto RadioButton
correspondiente recibe un evento de clic.
En el siguiente ejemplo, se muestra una reacción cuando el usuario presiona un objeto RadioButton
en un grupo:
<?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>
Dentro de la Activity
o Fragment
que aloja este diseño, busca los botones de selección y establece un objeto de escucha de cambios para cada uno de ellos, como se indica a continuación:
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"); }
En este ejemplo, cuando el usuario presiona uno de los botones de selección, se imprime un mensaje en Logcat.