0
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
            boolean cbTest = sharedPreferences.getBoolean("checkbox_test", false);

这是我的偏好

<CheckBoxPreference
            android:defaultValue="true"
            android:key="checkbox_test"
            android:summary="@string/checkbox_tes"
            android:title="@string/title_heckbox_tes" />

并且cbTest变量默认情况下始终为假,当我打开带有首选项的页面然后cbTest再次检查时,则为真。为什么默认总是假的?为什么需要初始化首选项页面才能开始工作?

如何在打开首选项页面之前检查默认值?

4

1 回答 1

1

我已经回答了类似的问题,但我无法快速定位。您必须初始化您的默认共享首选项。在您的主要活动中,将以下代码放入 onCreate()

PreferenceManager.setDefaultValues(this, R.xml.yourfilename, false);
于 2013-04-10T18:42:43.567 回答