我有一个从名为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();
,但它还没有成功。请帮帮我。非常感谢你。
答案 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
的名称,不带扩展名