【发布时间】:2015-07-31 16:06:46
【问题描述】:
大家好,我无法使用 SharedPreferences 保存布尔值。由于某些原因,该值始终为真。这是我保存值的方法:
public static void setSharedPreference(Context ctx, String keyValue, boolean value){
SharedPreferences sp = ctx.getSharedPreferences(Constants._preferencesName, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.putBoolean(keyValue,value);
editor.commit();
}
这就是我找回它的方式:
public static boolean getBooleanPreference(Context ctx, String keyValue){
boolean prefValue;
SharedPreferences sp = ctx.getSharedPreferences(Constants._preferencesName, ctx.MODE_PRIVATE);
prefValue = sp.getBoolean(keyValue, false);
return prefValue;
}
怎么了?!
【问题讨论】:
-
您确定在两个调用中使用相同的
_preferencesName和keyValue?因为我有点怀疑...... -
是的,我对此持肯定态度
-
如您所见,_preferenceName 是一个常数,所以......它总是一样的!并且两个方法中的Context是一样的
-
默认值为 false。如果 sp.getBoolean(K,false) 返回 true,则它肯定会存储
-
看我的回答。如果我是对的,那么可能是您正在阅读前一段时间写的值
标签: android boolean sharedpreferences