我在xml文件中有一个整数数组,如下所示

<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);
  }
}

08-03 20:55
查看更多