10

我有一个开关首选项,并希望它在 xml 中默认为“ON”...

<SwitchPreference
        android:defaultValue="true"
        android:key="PromoNotificationOnOff"
        android:title="@string/Snotification_enable" />

而在课堂上,

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Load the preferences from an XML resource
    addPreferencesFromResource(R.xml.settings);


}

为什么它不工作?什么不见​​了?谢谢!!

4

2 回答 2

14

在你的MainActivity onCreate方法中添加这一行

PreferenceManager.setDefaultValues(this, R.xml.settings, false);  

您可以在http://developer.android.com/reference/android/preference/PreferenceManager.html#setDefaultValues(android.content.Context , int, boolean)阅读它

于 2013-03-25T03:36:46.923 回答
2

代码是正确的,只需使用 switchPreferenceCompact 而不是 SwitchPreference

     <SwitchPreferenceCompat
        app:key="promoNofitficationOnOff"
        app:summaryOff="@string/notification_summary_off"
        app:summaryOn="@string/notification_summary_on"
        app:defaultValue="true"
        app:title="@string/promo_notification_title" />
于 2020-09-10T13:04:18.660 回答