获取id可绘制资源的数组

时间:2014-03-19 11:52:38

标签: android resources drawable

我需要许多类似的可绘制资源。 我在drawable文件夹中创建了必要的文件 然后是带有数组的资源文件:

<array name="btn_style">
    <item>@drawable/tile0</item>
    <item>@drawable/tile1</item>
    ...
</array>

但是当我写作

int[] btn_draw = getResources().getIntArray(R.array.btn_style);

我从数组中收到零。

如果我这样做

  int[] btn_draw = {R.drawable.tile0,R.drawable.tile1};

一切正常。

2 个答案:

答案 0 :(得分:3)

如果我理解你的问题......这是你的答案:

试试这个:   你可以使用类型数组..

<?xml version="1.0" encoding="utf-8"?>
    <resources>

        <string-array name="random_imgs">
            <item>@drawable/car_01</item>
            <item>@drawable/balloon_random_02</item>
            <item>@drawable/dog_03</item>
        </string-array>

    </resources>

然后在您的活动中访问它们:

TypedArray imgs = getResources().obtainTypedArray(R.array.random_imgs);
//get resourceid by index
imgs.getResourceId(i, -1)
// or set you ImageView's resource to the id
mImgView1.setImageResource(imgs.getResourceId(i, -1));

答案 1 :(得分:0)

我没有评论你的问题的声誉所以我必须发表答案。

我相信这个问题已经得到了解答:

Get an integer array from an xml resource in Android program