从String值设置ImageRescource

时间:2015-07-13 14:32:38

标签: android android-imageview android-drawable android-resources

我有一个从名为greece_ship的XML文件中获取的字符串。我的项目中的res/drawable文件夹中还有一个图像文件。我想设置一个ImageView,从我的greece_ship字符串中获取它的资源文件。我试过这个,但它不起作用:

String image =  "R.drawable." + tour.getImage();
int res = Resources.getSystem().getIdentifier(image, "drawable", String.valueOf(Drawable.class));
vPic.setImageResource(res);  

我的下一次尝试是第1行中的String image = tour.getImage();而不是String image = "R.drawable." + tour.getImage();,但它还没有成功。请帮帮我。非常感谢你。

1 个答案:

答案 0 :(得分:0)

greece_ship.png可能不是android的一部分,但它是你添加到res / drawable的东西,所以你应该使用getResources().getIdentifier,而不是Resources.getSystem().getIdentifier。第一个参数是drawable的名称。只是名称,你的案例是tour.getImage()的结果,没有任何前缀。第三个参数是包名称。您可以使用getPackageName()获取它。最后看起来应该是这样的:

int res = getResources().getIdentifier(tour.getImage(), "drawable", getPackageName());

假设您有一个上下文来访问资源,而tour.getImage()返回drawable的名称,不带扩展名