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.
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
.
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.
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.
Para terminar, veamos cómo saber si está marcado. Para ello simplemente invocamos a isChecked
por ejemplo:
if (checkBoxTieneTrazo.isChecked()) {
// Algo si está marcado
}
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.