Search code examples
androiddefault-valuecheckboxpreference

Android CheckBoxPreference Default Value


I have the following XML code for my CheckBoxPreference:

<CheckBoxPreference
    android:key="pref_boot_startup"
    android:title="Auto start"
    android:defaultValue="true" />

But when I retrieve the preference in code the value is false.

sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean autoStart = sharedPreferences.getBoolean("pref_boot_startup", true);

My autoStart variable returns false.

Is there a specific reason for this? Am I missing a step to set the default value to true?


Solution

  • You have to set the defaults first:

        @Override
        protected void onCreate()
        {
            PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
            SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
            boolean autoStart = sharedPreferences.getBoolean("pref_boot_startup", true);
    
         {...}
        }