如何在整数数组中动态设置图像id

时间:2014-04-07 09:35:26

标签: android

这是我的代码,我有100张图片,我想用循环创建动态,但它不起作用。

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

2 个答案:

答案 0 :(得分:1)

如果您的图像都使用相同的前缀进行调用,并且它唯一改变的是您可以执行以下操作的数字:

假设您的编号从0size -1

ArrayList<Integer> imgIds = new ArrayList<Integer>();
for (int i = 0; i < size; i++) {
  imgIds.add(getResources().getIdentifier("img"+i, "drawable", getPackageName());
}

检查拼写错误。 编辑。使用数组:

int[] imgIds = new int[size];
for (int i = 0; i < size; i++) {
  imgIds[i] = getResources().getIdentifier("img"+i, "drawable", getPackageName();
}

答案 1 :(得分:1)

如果drawables名称为img1,img2,img3,..

,请尝试使用getResources().getIdentifier创建可绘制ID的数组。
int[] imgIds = new int [100];
int imagecount=1;
for(int i=0;i<100;i++){
imgIds[i]=getResources().getIdentifier("img"+imagecount,
                                           "drawable", getPackageName());
imagecount++;
}