在res/drawable-mdpi文件夹中,我有26个字母图片,名为 big_0.png 到 big_25.png 。
我想将它们全部添加(并忽略文件夹中的任何其他图像)到哈希映射:
private static HashMap<Character, Drawable> sHash =
new HashMap<Character, Drawable>();
最初我计划的事情如下:
private static final CharacterIterator ABC =
new StringCharacterIterator("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
int i = 0;
for (char c = ABC.first();
c != CharacterIterator.DONE;
c = ABC.next(), i++) {
String fileName = "R.drawable.big_" + i;
Drawable image = context.getResources().getDrawable(fileName);
sHash.put(c, image);
}
但后来我意识到R.drawable.big_0
到R.drawable.big_25
的类型是 int ,而不是字符串。
所以请告诉我,如何正确迭代26张图片?
答案 0 :(得分:4)
使用getResources().getIdentifier()
将"R.drawable.big_" + i
转换为您将与getDrawable()
一起使用的资源ID值。