Android将ImageView路径动态设置为字符串
问题描述:
我在/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);
有没有一种方法来设置它像这样还是我应该使用开关的情况下?
答
可以使用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
感谢它的工作,这就是我要找的。 –
我会推荐'switch'语句。 – Si8