我想在列表中显示所有资源drawable,以便用户可以选择一个。有没有办法循环遍历所有R.drawable项目,所以我不必将它们硬编码到我的程序中?
答案 0 :(得分:31)
在drawable类上使用getFields方法,您可以遍历整个drawable列表。
Field[] drawables = android.R.drawable.class.getFields();
for (Field f : drawables) {
try {
System.out.println("R.drawable." + f.getName());
} catch (Exception e) {
e.printStackTrace();
}
}
参考:http://www.darshancomputing.com/android/1.5-drawables.html
答案 1 :(得分:0)
如果你查看生成的R.drawable对象,你会看到ID是连续的,在我的情况下(可能是你的)从0x7f020000开始。由于它们似乎按alpha排序,您可以添加虚拟图像AAAAAAA.png和ZZZZZZ.png,并专门在两个ID之间进行迭代。
我无法支持您尝试此操作的原因,但我认为这样可行。