对于点运算符中的循环计数器

时间:2013-12-20 22:38:56

标签: java android eclipse adt

我正在使用Eclipse的Android ADT插件。

我尝试做的是: 我有一些从0到150命名的drawables,我想让他们进入一个数组来使用它们。 据我所知,为了可以使用,他们必须被分配 "R.drawable.FilenameWithoutExtension"。 为了简化和快速创建数组,我想使用for循环:

for (int i = 0; i <= 150; i++) {
    imagesArray[i] = R.drawable.i;
}

但是现在我收到了"R.drawable.i"的错误,因为没有文件"i"

有没有办法使用"i"的数值代替分配"R.drawble."的字母?

2 个答案:

答案 0 :(得分:2)

您可以使用getIdentifier()方法从名称中获取资源标识符:

for (int i = 0; i <= 150; i++)
    imagesArray[i] = getResources().getIdentifier(String.valueOf(i), "drawable", "your.package.name");

答案 1 :(得分:0)

文件名必须以字母开头,因为在构建时,文件名将转换为java标识符。

执行此操作后,您可以使用反射访问R.drawable的每个成员。