我的 CheckBoxPreference
有以下 XML 代码:
<CheckBoxPreference
android:key="pref_boot_startup"
android:title="Auto start"
android:defaultValue="true" />
但是当我在代码中检索首选项时,值是 false
.
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean autoStart = sharedPreferences.getBoolean("pref_boot_startup", true);
我的 autoStart
变量返回 false
。
这有什么具体原因吗?我是否缺少将默认值设置为 true
的步骤?
最佳答案
你必须先设置默认值:
@Override
protected void onCreate()
{
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean autoStart = sharedPreferences.getBoolean("pref_boot_startup", true);
{...}
}
关于Android CheckBoxPreference 默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3907830/