我正在使用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."
的字母?
答案 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的每个成员。