我想要在列表中显示所有资源可绘制,以便用户可以选择一个。有没有办法遍历所有的R.drawable项,这样我就不必在程序中硬编码它们了?
发布于 2010-03-29 23:15:22
在drawable类上使用getFields方法,您可以遍历整个可绘制的列表。
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
发布于 2010-03-29 22:52:35
如果查看生成的R.drawable对象,您将看到If是连续的,在我的例子中(可能也是您的例子中),从0x7f020000开始。因为它们似乎是按alpha排序的,所以您可能会添加虚拟图像AAAAAAA.png和ZZZZZZ.png,并在这两个ID之间进行独占迭代。
我不能赞同你尝试这样做的理由,但我认为这是可行的。
https://stackoverflow.com/questions/2538380
复制相似问题