En este corto tutorial te mostraré a interactuar con el widget de CheckBox en Android para ver cómo saber si está marcado, además de agregar un listener para cuando lo seleccionan o marcan.

Esto será en el lenguaje Java pero fácilmente se puede traducir a Kotlin.

Definir un CheckBox en Layout

Para declarar un CheckBox en Android usamos CheckBox así:

<CheckBox
  android:id="@+id/checkBoxTieneTrazo"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="¿Trazo?" />

Además de las propiedades de diseño como margen o alineación, se puede especificar el texto con text y también un id.

Referenciar CheckBox desde Java

Después podemos usar findViewById. La clase CheckBox se importa con:

import android.widget.CheckBox;

Y después se puede declarar así:

CheckBox checkBoxTieneTrazo = findViewById(R.id.checkBoxTieneTrazo);

Recuerda que si usas un fragmento, debes invocar a findViewById desde view.

Listener para escuchar cuando se marca o desmarca

Para escuchar cuando el usuario lo desmarca o marca, usamos un CompoundButton.OnCheckedChangeListener y lo establecemos con setOnCheckedChangeListener. Así:

checkBoxTieneTrazo.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (isChecked) {
            // 
        } else {
            //
        }
    }
});

En la función onCheckedChanged se nos pasa la vista y un booleano indicando si ha sido marcado o no. Con el mismo podemos hacer determinada cosa.

Saber si está marcado desde otra vista

Para terminar, veamos cómo saber si está marcado. Para ello simplemente invocamos a isChecked por ejemplo:

if (checkBoxTieneTrazo.isChecked()) {
    // Algo si está marcado
}
Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto