Android: значение по умолчанию не устанавливается из XML - PullRequest
0 голосов
/ 23 февраля 2011

У меня есть простое действие Preferences, которое я заполняю через XML, определяя значения как ресурсы массива.

В ОСНОВНОЙ Активности приложения я получаю ручку к этому через:

mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);

В XML для единственного предпочтения, которое у меня есть, это настройка отображения, у меня есть следующий XML, который определяет ListPreference:

<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" />

Вы можете видеть, что я пытаюсь установить значение по умолчанию для «модифицированного», которое находится в @ array / sort_order_values:

<string-array name="sort_order_values">
    <item>modified</item>
    <item>created</item>
    <item>name</item>
</string-array>

Однако при запуске действия «Предпочтения» ни один из элементов не выбирается по умолчанию.

Я попытался добавить следующую строку в свою активность, но она ничего не изменила (где pref_main - это файл XML, который определяет предпочтения):

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

Любая помощь приветствуется!

Пол

1 Ответ

2 голосов
/ 08 августа 2011

Может быть, вы только что установили неправильное значение (без соответствующего элемента в массиве значений) при первом запуске приложения. Теперь Android запоминает ваш первый выбор. Попробуйте вручную удалить приложение (Меню >> Настройки >> Приложения >> Управление приложениями >> >> Удалить). Это должно помочь.

...