共有設定値を変更しましたが、それでも古い値を返します。私は何が欠けていますか?SharedPreferencesは編集後も同じ値を返します
このコードは、ユーザーがRecyclerViewのアイテムをクリックしたときに実行されます。だから最初のクリックで、私はメッセージ" this true"
を期待通りに受け取る。しかし、2回目のクリックでも" 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'を代わりに保存してください。これにより、値が切り替わります。 –