可扩展列表数组资源实现问题

时间:2012-01-07 04:46:46

标签: android expandablelistadapter

我不清楚如何将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;。 必须有一个规则,但我还不知道。

浏览大量示例,我想我还需要有一个组和子布局文件,也许还有一个主布局文件(我想如果需要的话,我知道如何实现它们)。这是对的吗?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

你在字符串数组的名称中有空格

从“人名”和其他字符串数组名称中删除空格。