【发布时间】:2012-01-07 04:46:46
【问题描述】:
我不太清楚如何将 ExpandableList 实现为数组资源而不是硬编码数组(通过用 XML 布局替换现有的硬编码数组)。这是我的strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">adaptor_ExpandableList1</string>
<string name="expandable_list_sample_action">Sample action</string>
<string-array name="Groups">
<item>People Names</item>
<item>Dog Names</item>
<item>Cat Names</item>
<item>Fish Names</item>
</string-array>
<string-array name="People Names">
<item>Arnold</item>
<item>Barry</item>
<item>Chuck</item>
<item>David</item>
</string-array>
<string-array name="Dog Names">
<item>Ace</item>
<item>Bandit</item>
<item>Cha-Cha</item>
<item>Deuce</item>
</string-array>
<string-array name="Cat Names">
<item>Fluffy</item>
<item>Snuggles</item>
</string-array>
<string-array name="Fish Names">
<item>Goldy</item>
<item>Bubbles</item>
</string-array>
</resources>
这是我在 Java 文件中所做的更改:
public class MyExpandableListAdapter extends BaseExpandableListAdapter {
// Sample data set. children[i] contains the children (String[]) for groups[i].
private String[] groups = getResources().getStringArray(R.array.Groups);
private String[][] children = {getResources().getStringArray(R.array.People Names),
getResources().getStringArray(R.array.Dog Names),
getResources().getStringArray(R.array.Cat Names),
getResources().getStringArray(R.array.Fish Names)
};
当然 R.array.xxx 名称不起作用。那么当R.java中有这样的语句时,我该如何纠正这个问题:public static final int Cat Names=0x7f040003;。 这一定有一个规则,但我还不知道。
浏览大量示例,我认为我还需要有组和子布局文件,也许还有一个主布局文件(我想如果需要我知道如何实现它们)。这是正确的吗?
提前感谢您的帮助!
【问题讨论】:
标签: android expandablelistadapter