Intereting Posts
Как я могу исключить внешний .jar из obfuscation от Proguard (проект Android)? Как исключить определенные сообщения по имени TAG с помощью Android adb logcat? Обрезание круговой области из растрового изображения в Android Использование FLAG_SHOW_WHEN_LOCKED с отключеннымKeyguard () в защищенном экране блокировки Android Android: установка элемента с запрограммированным щелчком для выбранного состояния Как узнать, когда устройство BLE подписывается на характеристику на Android? Как получить значение выделенного элемента Spinner для строки? Как вы редактируете зависимость / внешнюю библиотеку в студии Android? Как отложить выполнение андроида Есть ли способ перезапустить службу после обновления приложения на Android? Почему Android ограничивает допустимые типы файлов так строго при приеме через Bluetooth OPP? Обнаружение цвета фонового изображения с помощью Android Paint В HTML5, как я могу включить экран Android-устройства? Android – установить максимальную длину сообщений logcat Служба Android: onBind (Intent) и onUnbind (Intent) вызывается один раз

Не удается получить массив строк из XML

У меня есть список значений в моем XML-файле, который я бы хотел выбрать, основываясь на выборе счетчика. По какой-то причине использование строки массива для счетчика отлично работает, значения заполняются в счетчик. По какой-то причине я не могу получить значения второго массива для сохранения моей жизни, они находятся в том же файле, который не имеет ошибок, которые я могу найти. Вот как я пытаюсь их схватить:

String[] some_array = getResources().getStringArray(R.array.playerclassdesc_array); 

Spinner заселен по-разному (ошибок нет в этой части):

 ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource( this, R.array.playerclass_array, android.R.layout.simple_spinner_item); 

Ошибка, которую я получаю:

"04-26 21: 41: 35.305: ERROR / AndroidRuntime (514): вызвано: android.content.res.Resources $ NotFoundException: Идентификатор ресурса массива строк # 0x7f050001"

Это относится непосредственно к строке «getResources». Кто-нибудь знает, почему это может произойти?

Изменить: Вот xml-файл (это просто)

 <?xml version="1.0" encoding="UTF-8"?> <resources> <string name="class_prompt">Choose a class</string> <string-array name="playerclass_array"> <item>Assassin</item> <item>Paladin</item> <item>Pirate</item> <item>Hell Mage</item> <item>Winter Witch</item> <item>Shadow Walker</item> <item>Underthief</item> <item>Red Warrior</item> <item>Haru Norda</item> </string-array> <string-array name="playerclassdesc_array"> <item>This is the Assassin</item> <item>This is the Paladin</item> <item>This is the Pirate</item> <item>This is the Hell Mage</item> <item>This is the Winter Witch</item> <item>This is the Shadow Walker</item> <item>This is the Underthief</item> <item>This is the Red Warrior</item> <item>This is the Haru Norda</item> </string-array> </resources> 

Solutions Collecting From Web of "Не удается получить массив строк из XML"

Я ненавижу это, когда сразу нахожу ответ!

По какой-то причине Android неправильно перекомпилировал XML-файл, в котором находился массив, поэтому после изменения имени и последующего его изменения он теперь работает. Поэтому мое решение состоит в том, что мне пришлось внести некоторые изменения в XML-файл, в котором находился массив, потому что он не перекомпилировался правильно, несмотря на то, что Eclipse говорил мне об этом.

Я пытаюсь сделать Cast в конструкторе ArrayAdapter или изменить тип элемента в ArrayAdapter.

 ArrayAdapter<String> adapter = ArrayAdapter.createFromResource( this, R.array.playerclass_array, android.R.layout.simple_spinner_item); 

Несколько раз я сталкивался с подобными проблемами. Я обнаружил, что использование Project | Чистый вариант в Eclipse, а затем восстановление моего проекта всегда решает их. Это то, что вы делаете, редактируя XML-файл; Вы заставляете Eclipse перестраивать свои ресурсы из XML-файла.