Haber tengo un lista de checkbox
en la cuál tienes un máximo de elementos para seleccionar, en este caso 3. Hasta ahí todo bien. Ahora al final quiero que cuando todos los checkbox estén seleccionados, me los muestre en una cadena simple.
Por ejemplo: String cadena = "perro, gato, pájaro";
El problema es que al ponerlos en la cadena bien, pero si elimina algún elemento y selecciona otro sigue almacenando en la cadena y no sé como eliminar ese específico.
Muestro el código:
OnCheckedChangeListener checker = new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton cb, boolean b) {
if(count == maxLimit && b){
cb.setChecked(false);
Toast.makeText(getApplicationContext(),
"No puedes seleccionar más elementos", Toast.LENGTH_SHORT).show();
}else if(b){
Cadena = Cadena + cb.getText().toString()+", ";
count++;
}else if(!b){
//Aquí es donde tendría que quitar el elemento
count--;
}
}
};
for(int i = 0; i < lengthBox; i++) {
int id = getResources().getIdentifier("checkBox"+i, "id", getPackageName());
checkbox[i] = (CheckBox) findViewById(id);
checkbox[i].setOnCheckedChangeListener(checker);
}
¿Cómo puedo arreglar eso? Espero haberme explicado bien. Muchas gracias