1

我有一组字符串,我最初使用 anArrayAdapter来填充Spinner. 而不是 a Spinner,我想使用 a BaseExpandableListAdapter。有没有办法可以将一组字符串数组值放入String对象中?

这是我的字符串数组

<string-array name="component2_color">
    <item>Blueberry</item>
    <item>Chocolate</item>
    <item>Dark Chocolate</item>
    <item>Lemon</item>
    <item>Lime</item>
    <item>Orange</item>
    <item>Strawberry</item>
    <item>Raspberry</item>
    <item>Grape</item>
    <item>Vanilla</item>
    <item>Butterscotch</item>
</string-array>

这是我从 ApiDemos 中摘录的一段代码,展示了如何填充可扩展列表的组和子项。

public class MyExpandableListAdapter extends BaseExpandableListAdapter {
    // Sample data set.  children[i] contains the children (String[]) for groups[i].
    private String[] groups = { "People Names", "Dog Names", "Cat Names", "Fish Names" };
    private String[][] children = {
            { "Arnold", "Barry", "Chuck", "David" },
            { "Ace", "Bandit", "Cha-Cha", "Deuce" },
            { "Fluffy", "Snuggles" },
            { "Goldy", "Bubbles" }
    };

我希望String孩子们使用四个不同的字符串数组。有什么办法可以解决这个问题吗?我不确定如何开始。

编辑:我试过这个,但我得到一个资源未找到异常。

    private String[] groups = {UserMessage.this.getString(R.array.message_groups)};
    private String[][] children = {{UserMessage.this.getString(R.array.message_group_1)},
            {UserMessage.this.getString(R.array.message_group_2)},
            {UserMessage.this.getString(R.array.message_group_3)},
            {UserMessage.this.getString(R.array.message_group_4)}
    };
4

1 回答 1

2

变成:

    private String[] groups = getResources().getStringArray(R.array.message_groups);
    private String[][] children = {getResources().getStringArray(R.array.message_group_1),
            getResources().getStringArray(R.array.message_group_2),
            getResources().getStringArray(R.array.message_group_3),
            getResources().getStringArray(R.array.message_group_4)
    };

感谢卡尔的回答。

于 2010-12-19T16:41:27.500 回答