Foros del Web » Programando para Internet » Android »

Guardar Array de Checkbox

Estas en el tema de Guardar Array de Checkbox en el foro de Android en Foros del Web. Hola a todos, les comento soy principiante programando en Android y les traigo la siguiente consulta. Tengo 32 Checkbox declarados y también los declare en ...
  #1 (permalink)  
Antiguo 18/10/2014, 20:11
 
Fecha de Ingreso: julio-2014
Mensajes: 5
Antigüedad: 10 años, 4 meses
Puntos: 0
Guardar Array de Checkbox

Hola a todos, les comento soy principiante programando en Android y les traigo la siguiente consulta. Tengo 32 Checkbox declarados y también los declare en un Array para que me facilite algunas tareas. Lo que quisiera hacer es que al cerrar la aplicación no se borren los que se hayan tildado. La cuasi-solución que encontré sería con SharedPreferences:

@Override
public void onPause() {
super.onPause();
for(i=0;i<=array.length;i++){
save(array[i].isChecked());
}
}

@Override
public void onResume() {
super.onResume();
for(i=0;i<=array.length;i++){
array[i].setChecked(load());
}

}

private void save(final boolean isChecked) {
SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("check", isChecked);
editor.commit();
}


private boolean load() {
SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
return sharedPreferences.getBoolean("check", false);
}


El problema es que así no funciona. Sólo me funciona si en vez de poner el bucle con el array, pongo cada uno de los nombres de los Checkbox, así: "save(elemento1.isChecked());", y creo que ensucia mucho el código dado que son 32 Checkbox solo en esta activity y tengo varias más (con otros elementos).
Bueno espero no sea dificil o engorroso, y desde ya muchas gracias!

Pablo

Última edición por pabloandres_86; 21/10/2014 a las 09:39

Etiquetas: androi, checkbox
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:48.