создать «ArrayList» в файле ресурсов XML в Android

1

Я знаю, как создать простой массив в xml, как это

<resources>
    <string-array name="countries_array">
        <item>Afghanistan</item>
        <item>Albania</item>
        <item>Algeria</item>
        <item>American Samoa</item>
        <item>Andorra</item>
        <item>Angola</item>
        <item>Anguilla</item>
        <item>Antarctica</item>
    </string-array>
</resources>

И затем я инициализирую его так, как в коде

ArrayAdapter<String> adapter = 
        new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, countries_array);
textView.setAdapter(adapter);

Но я хочу хранить больше элементов, чем просто строку, поэтому мне нужен способ хранения arraylist, а не простой массив.

Как ниже

<resources>
<Share>
    <name>Apple</name>
    <currentRate>5.69</currentRate>
    <changeToday>-0.11</changeToday>
    <changeTodayPercent>-0.02</changeTodayPercent>
    <timeUpdated>2012,12,06,18,00,00</timeUpdated>
<Share>
<Share>
    <name>Microsoft</name>
    <currentRate>5.88</currentRate>
    <changeToday>0.19</changeToday>
    <changeTodayPercent>+0.09</changeTodayPercent>
    <timeUpdated>2012,12,06,18,00,00</timeUpdated>
<share>
...
</resources>

У меня уже есть класс с именем Share.java со следующими переменными, которые необходимо установить с помощью setMethods

открытый класс ShareHolding {

private String name;
private double currentRate;
private double changeToday;
private double changeTodayPercent;
private GregorianCalendar timeUpdated;
}

и добавить их в arraylist

ArrayList<Share> allShares = new ArrayList<Share>();

allShares.getShare(0).setName("I want to access my xml file here and add the first shares name here");
  • 0
    Я хотел бы рассмотреть возможность использования JSON и сохранить все общие ресурсы в виде массива JSON объектов JSON, сохраненных как один ресурс String. Вы должны были бы создать свой собственный способ его анализа.
Теги:

1 ответ

1
Лучший ответ

Насколько я знаю, вы не сможете не соответствовать типам данных, используя файл ресурсов. Ресурс поддерживает только однонаправленные типы данных. например, массив строк, массив целых чисел и т.д.

Лучшее решение, которое будет работать, состоит в том, чтобы сделать XML файл Share в его собственный файл и проанализировать его в свой общий объект. У разработчика Android есть пример встроенного синтаксического анализатора xml

  • 0
    Спасибо, посмотрю на это =)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню