这是我的代码,我有100张图片,我想用循环创建动态,但它不起作用。
int[] imgIds = {R.drawable.img1, R.drawable.img2, R.drawable.img3};
答案 0 :(得分:1)
如果您的图像都使用相同的前缀进行调用,并且它唯一改变的是您可以执行以下操作的数字:
假设您的编号从0
到size -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++;
}