android - que - sharedpreferences editor
Android-SharedPreference.getBoolean recuperando falso incluso si estoy almacenando verdadero? (2)
Nunca llamas a commit()
en tu editor , creo :) Prueba esto:
public void saveState()
{
SharedPreferences sp = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
for(int i = 0; i < itemCheck.length; i++)
{
Boolean b = itemCheck[i];
Log.e(TAG, b.toString());
editor.putBoolean(i+"", itemCheck[i]);
}
editor.commit();
}
Estoy utilizando SharedPreference para almacenar el estado de las casillas de verificación, pero incluso estoy almacenando verdadero en él, todavía está recuperando falso.
Aquí está mi código:
@Override
public void onPause()
{
super.onPause();
saveState();
}
@Override
public void onResume()
{
super.onResume();
loadState();
}
@Override
public void onRestart()
{
super.onRestart();
loadState();
}
public void saveState()
{
SharedPreferences sp = getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
for(int i = 0; i < itemCheck.length; i++)
{
Boolean b = itemCheck[i];
Log.e(TAG, b.toString());
editor.putBoolean(i+"", itemCheck[i]);
}
}
public void loadState()
{
SharedPreferences sp = getPreferences(Context.MODE_PRIVATE);
for(int i = 0; i < itemCheck.length; i++)
{
itemCheck[i] = sp.getBoolean(i+"", false);
Boolean b = itemCheck[i];
Log.e(TAG, b.toString());
}
for(int i = 0; i < itemCheck.length; i++)
{
lv.setItemChecked(i, itemCheck[i]);
}
}
Me da falso porque establezco falso como un valor predeterminado en getBoolean que debería devolverse en ausencia de una clave predefinida. Por favor, eche un vistazo y dígame qué hice mal. Gracias
use editor.commit()
después de editor.putBoolean(i+"", itemCheck[i]);