我更改了共享首選項值,但仍返回舊值。我錯過了什麼?SharedPreferences即使在編輯後也會返回相同的值
此代碼在用戶單擊RecyclerView中的項目時執行。因此,在第一次點擊時,我收到了預期的消息" this true"
。但第二次點擊我也得到" this true"
,但預計"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");
}
'new_value'的值是什麼?也許你應該保存'!value'。這將切換值。 –