我有一个字符串,其中包含我想要的文件名(R.drawable.square)以放入imageview。
String shape = "square"
我正在尝试使用以下方法来显示图像
imageView.setImageResource()
在工作中硬编码文件名,但我希望能够传递不同的文件名。
image.setImageResource(R.drawable.square)
TL;博士 无法从String获得:" square" to int:R.drawable.square
答案 0 :(得分:2)
请参阅Android, reference things in R.drawable. using variables?
//to retrieve image in res/drawable and set image in ImageView
String imageName = "picture"
int resID = getResources().getIdentifier(imageName, "drawable", "package.name");
ImageView image;
image.setImageResource(resID );
答案 1 :(得分:0)
我通过将图像放在资产目录
中来实现这一效果答案 2 :(得分:0)
我认为最好将字符串作为键,将资源ID作为Map
对象中的值使用。
Map<String, Integer> resources = new HashMap<>();
resources.put("square", R.drawable.square);
// resources.put("...", R.drawable....);
imageView.setImageResource(resources.get("square"));