如何显示资源可绘制列表

时间:2010-03-29 13:56:53

标签: android

我想在列表中显示所有资源drawable,以便用户可以选择一个。有没有办法循环遍历所有R.drawable项目,所以我不必将它们硬编码到我的程序中?

2 个答案:

答案 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之间进行迭代。

我无法支持您尝试此操作的原因,但我认为这样可行。