如何使用文件名更改ImageView

时间:2018-03-10 02:26:34

标签: android imageview

我有一个字符串,其中包含我想要的文件名(R.drawable.square)以放入imageview。

String shape = "square"

我正在尝试使用以下方法来显示图像

imageView.setImageResource()

在工作中硬编码文件名,但我希望能够传递不同的文件名。

image.setImageResource(R.drawable.square)

TL;博士 无法从String获得:" square" to int:R.drawable.square

3 个答案:

答案 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"));