gpt4 book ai didi

java - 在android中的xml资源文件中创建 "ArrayList"

转载 作者:行者123 更新时间:2023-11-30 03:53:24 25 4
gpt4 key购买 nike

我知道如何在 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 设置的变量

公共(public)类持股{

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

最佳答案

据我所知,您无法使用资源文件来匹配数据类型。该资源仅支持one-way datatypes.例如字符串数组、整数数组等。

可行的最佳解决方案是将共享 xml 制作到它自己的文件中,然后解析到您的共享对象中。 The android developer has some example of the built in xml parser

关于java - 在android中的xml资源文件中创建 "ArrayList",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13751349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com