我在/resources/drawable文件夹中有 10 张图片,名称如下;
pr1.gif
, pr2.gif
,... pr10.gif
我可以很容易地设置这样的图像;
imgview1.setImageResource(R.drawable.pr5);
但我不能像下面这样设置它;
int pr = getpr(dm);
imgview1.setImageResource(R.drawable.pr + pr);
有没有办法像这样设置它或者我应该使用开关盒?
您可以使用以下方法按名称获取可绘制对象的 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);
请注意,您可以将其用于任何类型的资源,无论是可绘制、字符串、数组等。只需确保将第二个参数从“可绘制”更改为适当的类型。