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);

但是我想存储更多的项目而不仅仅是一个字符串,所以我需要一种方法来存储一个数组列表而不是一个简单的数组。

像下面

<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<Share> allShares = new ArrayList<Share>();

allShares.getShare(0).setName("I want to access my xml file here and add the first shares name here");
4

1 回答 1

1

据我所知,您将无法使用资源文件不匹配数据类型。该资源仅支持 单向数据类型。例如字符串数组、整数数组等。

最好的解决方案是将 Share xml 放入它自己的文件中,然后解析到您的共享对象中。android 开发人员有一些内置 xml 解析器的示例

于 2012-12-06T20:03:11.900 回答