2014-09-23 105 views
2

我有一個CheckBoxPreference我希望它被默認選中;但它不起作用。設置默認的CheckBoxPreference總是在

這是我的代碼:

在我extends Application類:

@Override 
public void onCreate() { 
    super.onCreate(); 

    PreferenceManager.setDefaultValues(this, R.xml.preferences, false); 
    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); 
    sharedPreferences.getBoolean("notify", true); 

} 

和實際縣:

<CheckBoxPreference 
     android:key="notify" 
     android:title="Push Notifications" 
     android:summary="Receive status bar alerts"/> 
    </PreferenceCategory> 

回答

5

您需要將默認值添加到您的XML。注意android:defaultValue="true"

機器人:默認值= 「真」

<CheckBoxPreference 
    android:key="notify" 
    android:title="Push Notifications" 
    android:summary="Receive status bar alerts" 
    android:defaultValue="true" 
/> 
+0

哇,這很容易。我以爲我在'xml'中尋找了一個默認標籤。仍然需要包含其他Java代碼? – KickingLettuce 2014-09-23 18:35:57

+1

是的,另一個關鍵是'PreferenceManager.setDefaultValues(this,R.xml.preferences,false);'。這將從xml加載默認值並將其保存到SharedPreferences。 – kevskree 2014-09-23 18:37:24

+0

@kevskree那麼他/她說什麼:http://stackoverflow.com/questions/3907830/android-checkboxpreference-default-value – 2015-10-05 11:51:16