Android:未从XML设置默认首选项值

Android:未从XML设置默认首选项值,android,default-value,android-preferences,Android,Default Value,Android Preferences,我有一个简单的首选项活动,通过XML填充,将值定义为数组资源 在应用程序的主要活动中,我通过以下方式处理此问题: mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this); 在我唯一的首选项XML(显示设置)中,我有以下定义ListPreference的XML: <ListPreference android:title="@string/pref_title_sort" andr

我有一个简单的首选项活动,通过XML填充,将值定义为数组资源

在应用程序的主要活动中,我通过以下方式处理此问题:

mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
在我唯一的首选项XML(显示设置)中,我有以下定义ListPreference的XML:

<ListPreference
        android:title="@string/pref_title_sort"
        android:summary="@string/pref_summary_sort"
        android:key="@string/pref_key_sort"
        android:defaultValue="modified"
        android:entries="@array/sort_order"
        android:entryValues="@array/sort_order_values" />
感谢您的帮助


Paul

可能您在第一次运行应用程序时设置了错误的值(值数组中没有相应的项)。现在Android记住了你的第一选择。尝试手动卸载应用程序(菜单>>设置>>应用程序>>管理应用程序>>>卸载)。这应该会有所帮助

<string-array name="sort_order_values">
    <item>modified</item>
    <item>created</item>
    <item>name</item>
</string-array>
PreferenceManager.setDefaultValues(this, R.xml.pref_main, false);