Fat*_*onk 4 java android sharedpreferences
我用来SharedPreferences存储用户设置/选项。
我添加了一个可以打开或关闭的新选项,因此希望将其存储在boolean我的共享首选项文件中。
null这一切都很好,但是,由于这是一个新选项,如果用户尚未明确设置该选项,我想将内部变量设置为(这样我可以在第一次运行新版本时提示他们选择)时间)。
以下内容不起作用,因为boolean如果首选项未在 中找到,则 getBoolean 期望原语作为默认值返回shared+prefs。
myNewSetting = shared_prefs.getBoolean("my_mew_setting",null);
Run Code Online (Sandbox Code Playgroud)
上面的myNewSettingaBoolean可以设置为,但是由于s 的要求,这null没有帮助。getBoolean
有没有办法解决?
getBoolean 方法返回一个原始布尔值,因此即使您将它分配给一个布尔值,它也只是将其装箱。该方法的定义是:
抽象布尔 getBoolean(String key, boolean defValue)
如果你确实想区分设置不存在的情况,只需检查它是否存在:
if (!shared_prefs.contains("my_mew_setting"))
myNewSetting = null;
else
myNewSetting = shared_prefs.getBoolean("my_mew_setting", true /* never use default value in this code because of the if condition */);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1034 次 |
| 最近记录: |