如何引用在图像名称末尾具有数组索引的图像?这是我想工作的代码(虽然不是... :()

for (int i = 0; i < melodiToner.length; i++)

setImageResource(R.drawable.gronpil+melodiToner[i]);


即我想在第一个循环中加载图像gronpil1.png,在第二个循环中加载gronpil2.png
这与数组内容无关,我需要其他一些文件名结尾,因此我不能使用i变量,它必须来自数组。

感谢您的帮助!

安德烈亚斯

最佳答案

这种方式(简短版本):

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

10-08 03:29