Android 获取id可提取资源的数组
我需要许多类似的可提取资源。 我在drawable文件夹中创建了我所需的文件 然后,使用数组创建资源文件:Android 获取id可提取资源的数组,android,resources,drawable,Android,Resources,Drawable,我需要许多类似的可提取资源。 我在drawable文件夹中创建了我所需的文件 然后,使用数组创建资源文件: <array name="btn_style"> <item>@drawable/tile0</item> <item>@drawable/tile1</item> ... </array> 我从数组中得到零 如果我这样做 int[] btn_draw = {R.drawable.tile
<array name="btn_style">
<item>@drawable/tile0</item>
<item>@drawable/tile1</item>
...
</array>
我从数组中得到零
如果我这样做
int[] btn_draw = {R.drawable.tile0,R.drawable.tile1};
一切正常。如果我理解你的问题。。以下是你的答案: 试试这个: 您可以使用类型化数组
<?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>
我没有声誉评论你的问题,所以我必须发布一个答案 我相信这个问题已经得到了回答:
我不明白你的要求。你能解释一下你想要什么吗
我从零开始接收数组。
-是的,正确,数组从索引0开始。我想要接收ID资源数组,而不是零数组。我找到了解决方法,但我想了解为什么会出现这种情况。我从零接收数组。
我相信OP的意思是他从数组接收到了零值。我编辑了这个问题来澄清@OP:我猜您使用getIntArray()
收到错误值的原因是您的XML使用
而不是
。我按照本例中的说明执行。但在我的案例中,它不适用于drawable。
<?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));