views:

94

answers:

1

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?

+1  A: 

You have to set the defaults first:

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

     {...}
    }
junkdog