Agrega casillas de verificación a la 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.

Las casillas de verificación permiten que el usuario seleccione una o más opciones de un conjunto. Por lo general, debes presentar una casilla de verificación opciones en una lista vertical.

Una imagen que muestra un ejemplo de casillas de verificación de material.io
Figura 1: Un ejemplo de casillas de verificación de Casilla de verificación de Material Design.

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

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 el diseño esté listo, ve a Activity o Fragment, y busca 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.