如何从字符串xml文件中引用可绘制资源? 我想做
<string-array name="my_array">
<item>@drawable/my_image</item>
...
我该怎么做?
答案 0 :(得分:15)
对于drawables数组,不要使用字符串数组,只需使用<array>
然后使用它们,如果ids
,则获得TypedArray
TypedArray images = getResources().obtainTypedArray(R.array.my_image_ids);
int resourceId = images.getResourceId(id, -1);
并且不要忘记当你完成资源ID和数组以回收它时
images.recycle();
答案 1 :(得分:5)
我猜你试图将所有图像资源名称(作为字符串)存储在数组中,并在编写java代码时调用它?
Resources res = getResources();
String[] images = res.getStringArray(R.array.my_array);
将您的字符串数组放入数组中。您可以像往常一样通过访问数组来获取所需的项目。
String image_name = images[0];
http://developer.android.com/guide/topics/resources/string-resource.html
如果您尝试将图像列表加载到gridview,您可能需要参考:
http://developer.android.com/guide/topics/ui/layout/gridview.html
他们已将数组放在基本适配器中,如下所示:
private Integer[] mThumbIds = {
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7,
R.drawable.sample_0, R.drawable.sample_1,
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7,
R.drawable.sample_0, R.drawable.sample_1,
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7
};
您可以轻松使用它,就像访问数组一样。