Ich habe den Wert für gemeinsame Voreinstellungen geändert, aber er gibt immer noch den alten Wert zurück. Was vermisse ich?SharedPreferences geben denselben Wert auch nach der Bearbeitung zurück
Dieser Code wird ausgeführt, wenn der Benutzer auf das Element in RecyclerView klickt. Also beim ersten Klick bekomme ich die Nachricht " this true"
wie erwartet. Aber auf den zweiten Klick bekomme ich auch " this true"
, aber erwarte "this false"
.
SharedPreferences prefs = context.getSharedPreferences(MY_PREF, Context.MODE_PRIVATE);
boolean value = prefs.getBoolean(KEY_PREF, true);
if (value) {
Log.v(LOG_TAG, "this true");
Log.v(LOG_TAG, "editing value..");
SharedPreferences.Editor prefs = context.getSharedPreferences(MY_PREF, MODE_PRIVATE).edit();
prefs.putBoolean(KEY_PREF, new_value);
prefs.apply();
} else {
Log.v(LOG_TAG, "this false");
}
Was ist der Wert von 'new_value'? Vielleicht sollten Sie stattdessen '! Value' speichern. Dies schaltet den Wert um. –