创build资源ID的整数数组

我在我的res/drawable文件夹中有一些图像。 比方说img1.pngimg2.pngimg3.png 。 我目前正在像这样在Java中创build这些图像ID的整数数组

 int[] imgIds = {R.drawable.img1, R.drawable.img2, R.drawable.img3}; 

相反,是否有可能在res/values文件(比如strings.xml )之一中创build一个整数数组

 <integer-array name="img_id_arr"> <item>@drawable/img1</item> <item>@drawable/img2</item> <item>@drawable/img3</item> </integer-array> 

然后通过getResources().getIntArray(R.array.img_id_arr)在Java中访问它getResources().getIntArray(R.array.img_id_arr)

只使用“数组”而不是“整型数组”。 请参阅开发人员指南中的Typed Array 。

请参阅XML整数数组,资源引用,getIntArray

 TypedArray ar = context.getResources().obtainTypedArray(R.array.my_array); int len = ar.length(); int[] resIds = new int[len]; for (int i = 0; i < len; i++) resIds[i] = ar.getResourceId(i, 0); ar.recycle(); // Do stuff with resolved reference array, resIds[]... for (int i = 0; i < len; i++) Log.v (TAG, "Res Id " + i + " is " + Integer.toHexString(resIds[i])); 

做一个LevelListDrawable 。 虽然这不完全是你想要的,但几乎可以实现。