entryValues ​​непредвиденный тип ресурса: ожидаемый «массив»: строка в списке выбора нескольких вариантов (Android) - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь узнать о настройках приложения, нашел несколько учебных пособий, но одна вещь просто не работает для меня. Я использую это из файла arrays.xml в preference.xml как entryValues ​​и записи для MultiSelectListPreference.

    <string-array name="cities">
        <item>Item1</item>
        <item>Item2</item>
        <item>Item3</item>
        <item>Item4</item>
        <item>Item5</item>
    </string-array>
    <string-array name="cities_keys">
        <item>item1</item>
        <item>item2</item>
        <item>item3</item>
        <item>item4</item>
        <item>item5</item>
    </string-array>
</resources>

Это хорошо работает для записей, но для entryValues ​​я получаю ошибку, упомянутую в заголовке. Пробовал со строкой или просто массивом вместо string-array, но это не помогло. Может кто-нибудь сказать мне, что я должен использовать здесь?

Кроме того, есть еще один вопрос: я использовал всего 2 дня назад, и теперь он устарел ... Что я должен использовать вместо него? Какой самый быстрый способ проверить это? Developer.android.com говорит только «Использовать библиотеку настроек AndroidX», но без каких-либо подробностей.

Большое спасибо!

1 Ответ

0 голосов
/ 06 ноября 2019

Насколько я могу судить, первая ошибка в Android Studio;Я получаю те же ошибки в моем проекте, используя ListPreference, но он компилируется, запускается и выполняется правильно. (Я также получаю сообщение об ошибке, сообщающее, что defaultValue должно быть bool, что явно бессмысленно для компонента предпочтения со строковым значением ...)

Для последнего: используйте androidx.preference.PreferenceScreen и друзей;Я обнаружил, что вынужден был заставить Android Studio использовать его, включив в build.gradle dependencies:

implementation 'androidx.preference:preference:1.1.0'
...