2013-10-11 154 views
1

我在/resources/drawable文件夹中有10个图像作为以下名称;
pr1.gif,pr2.gif,... pr10.gif
而且我可以很容易地设置这样的图像;
imgview1.setImageResource(R.drawable.pr5);Android将ImageView路径动态设置为字符串

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

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

有没有一种方法来设置它像这样还是我应该使用开关的情况下?

+0

我会推荐'switch'语句。 – Si8

回答

0

可以使用getIdentifier()按名称获取绘制的ID:

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); 

注意您可以使用此对任何类型的资源,无论是绘制,字符串数组等只要确保你改变第二个参数从“drawable”改为适当的类型。

+0

感谢它的工作,这就是我要找的。 –