TransWikia.com

Estoy usandro android Estudio ¿Como validar si los checkbox de mi listView estan marcados?

Stack Overflow en español Asked by devDiego on December 23, 2021

tengo un Listview con textbox y checkbox y al final un boton, necesito que al presionar el boton, valide si todos los checkbox estan marcados o no, ayuden porfavor.

Estoy trabajando con android studio

este es mi adapter

public View getView(final int position, View convertView, ViewGroup parent) {
    final  ViewHolder holder;
    final Cotizacion rowItem = (Cotizacion) getItem(position);
    LayoutInflater mInflater = (LayoutInflater) this.context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
    if (convertView == null) {
        convertView = mInflater.inflate(R.layout.list_item, null);
        holder = new ViewHolder();
        holder.checkHolder = (CheckBox) convertView.findViewById(R.id.checkBox);
        holder.textCodProd = (TextView) convertView.findViewById(R.id.txtCodPro);
        holder.textProducto = (TextView) convertView.findViewById(R.id.txtProducto);
        holder.textUnidad = (TextView) convertView.findViewById(R.id.txtUnidad);
        holder.textCantidad = (TextView) convertView.findViewById(R.id.txtCantidad);
        holder.textLote = (TextView) convertView.findViewById(R.id.txtLote);
        holder.textFechaVen = (TextView) convertView.findViewById(R.id.txtFechaven);

        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }

    holder.checkHolder.setChecked(rowItem.checkCoti);
    holder.textProducto.setText(rowItem.producto);
    holder.textCodProd.setText(rowItem.codProducto);
    holder.textUnidad.setText(rowItem.unidad);
    holder.textCantidad.setText(rowItem.cantidad);
    holder.textLote.setText(rowItem.lote);
    holder.textFechaVen.setText(rowItem.fechaVencimiento);


    return convertView;
}

}

Adjunto un pedazo de  mi adapter porque no me deja pegar todo el codigo

2 Answers

La clase publica "CheckBox" cuenta con métodos heredados de la clase "CompoundButton", lo que quiere decir que puede acceder a estos métodos para realizar diferentes acciones. Para una revisión de todos sus método te invito a visitar la documentación oficial: Android Reference

Para tu caso, para realizar la verificación que buscas utilizarías el método "isChecked()" este te regresara un valor de tipo Boolean:

true -> si el CheckBox esta marcado

false -> el CheckBox no esta marcado

Ejemplo:

if(checkHolder.isChecked()){
System.out.println("checkBox marcado");
}

Answered by Isaac Perez on December 23, 2021

puedes usar el mètodo isChecked(), ejemplo:

     CheckBox checkBox = (CheckBox) findViewById(R.id.checkbox_id);
     if (checkBox.isChecked()) {
         //Esta seleccionado
     }

Pero en el caso de un Adapter debes guardar el valor de cual elemento fue checado y de esta forma usar setChecked() para mostrar el valor en el listado.

Revisa la segunda parte de esta respuesta

"En este caso la mejor aproximación es obtener los valores directamente de los objetos que agregan los valores a las vistas generadas por el RecyclerView en tu Adapter y no de las vistas creadas ya que algunos de estos elementos pueden no existir al no ser visibles en pantalla.

Crea objetos para llenar tu Adapter y de aquí obtén las propiedades de cada elemento en el listado."

Answered by Elenasys on December 23, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP