如何在图像名称的末尾引用带有数组索引的图像?这是我想要的代码(尽管...... :()
for (int i = 0; i < melodiToner.length; i++)
setImageResource(R.drawable.gronpil+melodiToner[i]);
即我想在第一个循环中加载图像gronpil1.png
,在第二个循环中加载gronpil2.png
。
这不是相对于数组内容,我需要一些其他文件名结尾所以我不能使用i变量,它必须来自数组。
感谢您的帮助!
安德烈亚斯
答案 0 :(得分:1)
这种方式(短版):
for (int i = 0; i < melodiToner.length; i++) {
int resId = getResources().getIdentifier("gronpil"+melodiToner[i], "drawable", getPackageName());
setImageResource(resId);
}
更长的版本,因为在每个循环中都不会调用getResources和getPackageName一次:
Resources resources = getResources();
String packageName = getPackageName();
for (int i = 0; i < melodiToner.length; i++) {
int resId = resources.getIdentifier("gronpil"+melodiToner[i], "drawable", packageName);
setImageResource(resId);
}
答案 1 :(得分:0)
创建整数数组
int[] img = new int[5];
img[0] = R.drawable.no1;
img[1] = R.drawable.no2;
img[2] = R.drawable.no3;
img[3] = R.drawable.no4;
img[4] = R.drawable.no5;
(int i = 0; i < 5; i++){
imgView.setImageResource(img[i]);
}