这个问题已经有了答案:
How to get the image from drawable folder in android?
4个答案
有没有办法生成r.drawable….在飞行中的名字?我想用动态生成的名称设置一个背景图像(它已经可用作R.drawable.example_graphic
)
所以我想找到一种方法给$abc分配一个字符串->btn.setBackgroundImage(R.drawable.$ABC);
我不想创建一个新的绘图,我想使用现有的。
最佳答案
对。拖拉是编译时的常量:你确切知道什么是存在的。因此,在应用程序对象中,创建一个映射:
public static final Map<String, Integer> NAMED_RESOURCES;
static {
Map<String, Integer> m = new HashMap<String, Integer>();
m.put(KEY1, R.drawable.ABC);
m.put(KEY2, R.drawable.DEF);
// ...
NAMED_RESOURCES = Collections.unmodifiableMap(m);
}
现在你可以:
btn.setbackgroundimage(application.named_resources.get($abc));