无法获取从另一个资源文件引用的Drawable id

时间:2014-09-16 07:24:18

标签: android android-resources android-drawable

这就是我所拥有的:

在res / drawable-hdpi中我有这张图片:

ar_contact

在res / values中我有这个文件:

<resources>
    <string-array name="articles_images_thumbnail_array">
        <item>@drawable/ar_contact</item>
    </string-array>
</resources>

我想从字符串数组中获取我的图像的ID(我将有多个图像)

现在当我在代码中尝试时,我只得到了一个字符串的路径:

res/drawable-hdpi-v4/ar_contact.png

这是我尝试过的代码:

id = resources.getStringArray(R.array.articles_images_thumbnail_array)[articleIndex];

上面的Java代码将路径作为String返回,但是我想要ar_contact图像的id,所以我可以这样使用它:

imageThumbnail.setImageResource(id);

我尝试使用整数数组,但我的所有图像只得到0值。

1 个答案:

答案 0 :(得分:2)

您应该使用Resources API guides中所述的TypedArray

<resources>
    <array name="articles_images_thumbnail_array">
        <item>@drawable/ar_contact</item>
    </array>
</resources>

然后像这样检索数组:

TypedArray array = getResources().obtainTypedArray(R.array.articles_images_thumnail_array);
Drawable myDrawable = array.getDrawable(0); // Returns @drawable/ar_contact