Agrega casillas de verificación a la app

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

Las casillas de verificación permiten al usuario seleccionar una o más opciones de un conjunto. Por lo general, presentas opciones de casillas de verificación en una lista vertical.

Una imagen que muestra un ejemplo de casillas de verificación de material.io
Figura 1: Ejemplo de casillas de verificación de la casilla de verificación de Material Design.

Para crear cada opción de la casilla de verificación, crea un CheckBox en tu diseño. Dado que un conjunto de opciones de casillas de verificación le permite al usuario seleccionar varios elementos, cada casilla de verificación se administra por separado, y debes registrar un objeto de escucha de clics para cada una.

Cómo responder a eventos de clic

Para comenzar, crea un diseño con objetos CheckBox en una lista:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <CheckBox android:id="@+id/checkbox_meat"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Meat" />
    <CheckBox android:id="@+id/checkbox_cheese"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Cheese"/>
</LinearLayout>

Una vez que tu diseño esté listo, ve a Activity o Fragment, busca las vistas de CheckBox y configura un objeto de escucha de cambios, como en el siguiente ejemplo:

Kotlin

findViewById<CheckBox>(R.id.checkbox_meat)
    .setOnCheckedChangeListener { buttonView, isChecked ->
        Log.d("CHECKBOXES", "Meat is checked: $isChecked")
    }

findViewById<CheckBox>(R.id.checkbox_cheese)
    .setOnCheckedChangeListener { buttonView, isChecked ->
        Log.d("CHECKBOXES", "Cheese is checked: $isChecked")
    }

Java

findViewById<CheckBox>(R.id.checkbox_meat)
    .setOnCheckedChangeListener { buttonView, isChecked ->
        Log.d("CHECKBOXES", "Meat is checked: $isChecked");
    }

findViewById<CheckBox>(R.id.checkbox_cheese)
    .setOnCheckedChangeListener { buttonView, isChecked ->
        Log.d("CHECKBOXES", "Cheese is checked: $isChecked");
    }

El código anterior imprime un mensaje en Logcat cada vez que las casillas de verificación cambian de estado.