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;
}
}
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
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP