SharedPreferences reset: El tamaño del mapa no es 0 después de restablecer
Estoy intentando suprimir mis SharedPreferences
, pero no está trabajando: el size
no se fija a 0 como era de esperar.
SharedPreferences sp = context.getSharedPreferences(name, mode); SharedPreferences.Editor e = sp.edit(); e.clear(); e.commit(); Map<String, ?> map = sp.getAll(); int size = map.size();
¿Alguna sugerencia?
- ¿Cómo obtengo la categoría de una preferencia de Android?
- Interruptor principal de encendido / apagado en ActionBar
- ¿Debo crear una actividad para cada pantalla?
- Cómo eliminar las preferencias de Android de la pantalla
- Iniciar nueva actividad de PreferenceActivity
private static String name = "ABC_PREFS"; private static int mode = Context.MODE_PRIVATE;
- Cómo cambiar la tipografía de dialogMessage de EditTextPreference en Android?
- ¿Cómo obtener preferencias de tono en tiempo de ejecución?
- cambiar la etiqueta de la categoría de preferencia color de fondo
- TimePicker en PreferenceScreen
- Preferencias de Android en evento onclick
- Cómo envolver el título de preferencia?
- Mi var pública es invisible a su primo
- ¿Dónde almacenar las claves de preferencias de Android?
Su código parece estar bien de leerlo. ¿Está seguro de que la variable de contexto se inicializa correctamente? ¿Existen otras variables de SharedPreferences que apuntan al mismo archivo?
Si estos no son el problema, considere la posibilidad de tomar una aplicación de muestra mínima y pegar este código para ver si todavía falla. Es más fácil solucionar un problema como este con la aplicación completa que con sólo un fragmento de código.
SharedPreferences.Editor.clear () acaba de eliminar sólo los valores de sus preferencias es que no es suficiente para usted? Puede eliminar todas sus entradas con SharedPreferences.Editor.remove () :
for (String key: sp.getAll().keySet()) { e.remove(key); } e.commit();
Puede escribir el tamaño del mapa en las preferencias compartidas:
e.clear(); e.putInt("size", map.size()); e.commit();
Para obtener el tamaño de la llamada al mapa:
int size = sp.getInt("size", 0);
- ¿Cuál es el pronóstico para el soporte de dispositivos Bluetooth en el emulador?
- Android y WiFi Direct – Problemas de conexión