El caso es que tengo un listado de archivos con un checkbox vacío para cada uno. Quisiera que al dejar pulsado sobre un item aparezca la barra CAB y en la opción select all item, se marquen automáticamente todos los checkbox. Lo que veo por los foros y he probado no funciona. Es esto:
case R.id.SeleccionarTodo:
//your code here
lista.setClickable(true);
lista.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
for ( int i=0; i < lista.getCount(); i++) {
lista.setItemChecked(i,true);
}
return true;
Si hago eso y luego compruebo el resultado con la opcion lista.isItemChecked(), me dice que, efectivamente, todos mis checkbox están checkeados, pero visualmente me siguen apareciendo vacios y además si pulso sobre ellos sí aparece el aspa, o sea, que en realidad el checkbox de la vista no estaba checkeado porque sino se me cerraría la app por el error.
El listado de archivos lo consigo de un arrayadapter customizado, lo que leí en foros que había que ponerlo CHOICE y así lo hice pasándoselo por la lista, pero lo que pienso que hace es hacerlo en el row, no específicamente en el checkbox.
sólo se me ocurre hacerlo en plan cutre, que sería llamar a un xml con todos los checkboxseleccionados al seleccionar la opción del CAB, y setear de nuevo el arrayadapter con la nueva vista, teniendo que inflar otra vez el nuevo xml, setear el anterior listview a null, etc, vamos una cutrada.