Cómo agregar botones de selección a tu app

Prueba el método de Compose
Jetpack Compose es el kit de herramientas de IU recomendado para Android. Aprende a agregar componentes en Compose.

Los botones de selección permiten al usuario seleccionar una opción de un conjunto de elementos mutuamente excluyentes opciones de estado. Usa botones de selección si el usuario necesita ver todas las opciones disponibles en la lista. Si no es necesario mostrar todas las opciones, usa un ícono giratorio.

Ejemplo de botones de selección de material.io
Figura 1: Un ejemplo de botones de selección de Materiales Diseño.

Para crear cada opción del botón de selección, crea una RadioButton en tu diseño. Dado que los botones de selección son mutuamente excluyentes, agrúpalos pañal RadioGroup El sistema garantiza que solo se pueda seleccionar un botón de selección dentro de un grupo al una vez.

Cómo responder a eventos de clic

Cuando el usuario elige un botón de selección, se muestra El objeto RadioButton recibe un evento de clic.

El siguiente ejemplo muestra una reacción cuando el usuario presiona un RadioButton objeto 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>

En la Activity o Fragment que aloja esto buscar tus botones de selección y definir un objeto de escucha de cambios para cada uno de ellos, así como sigue:

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, aparece un mensaje en Logcat.