<integer-array name="myArray">
<item>@drawable/pic1</item>
<item>@drawable/pic2</item>
<item>@drawable/pic3</item>
<item>@drawable/pic4</item>
</integer-array>
在代码中,我正在尝试加载此数组
int[] picArray = getResources().getIntArray(R.array.myArray);
预期的结果是
R.drawable.pic1, R.drawable.pic2,R.drawable.pic3
但相反,它带有一个数组,所有值都为零
谁能告诉我有什么问题?
解决方法:
你需要得到一个包含图像id的数组.
可能this article会帮助你.所以您可能需要的代码:
int[] picArray = new int[4];
for (int i = 1; i <=4; i++)
{
try
{
Class res = R.drawable.class;
Field field = res.getField("pic"+i);
picArray[i-1] = field.getInt(null);
}
catch (Exception e)
{
Log.e("mytag", "Failure to get drawable id.", e);
}
}