1

我在/resources/drawable文件夹中有 10 张图片,名称如下;
pr1.gif, pr2.gif,... pr10.gif
我可以很容易地设置这样的图像;
imgview1.setImageResource(R.drawable.pr5);

但我不能像下面这样设置它;

int pr = getpr(dm);
imgview1.setImageResource(R.drawable.pr + pr);

有没有办法像这样设置它或者我应该使用开关盒?

4

1 回答 1

1

您可以使用以下方法按名称获取可绘制对象的 id getIdentifier()

String prefix = "pr";
int suffix = getpr(dm); // I assume this returns the image number

Resources res = getResources();
int resId = res.getIdentifier(prefix + suffix, "drawable", "my.package.name");
imgview1.setImageResource(resId);

请注意,您可以将其用于任何类型的资源,无论是可绘制、字符串、数组等。只需确保将第二个参数从“可绘制”更改为适当的类型。

于 2013-10-11T13:55:09.447 回答