我不清楚如何将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;。 必须有一个规则,但我还不知道。
浏览大量示例,我想我还需要有一个组和子布局文件,也许还有一个主布局文件(我想如果需要的话,我知道如何实现它们)。这是对的吗?
提前感谢您的帮助!
答案 0 :(得分:0)
你在字符串数组的名称中有空格
从“人名”和其他字符串数组名称中删除空格。