从字符串值设置 ImageRescource

Set ImageRescource from a String value

我有一个从名为 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();,但它还没有用。请帮帮我。非常感谢。

greece_ship.png 可能不是 android 的一部分,但它是您添加到 res/drawable 的内容,因此您应该使用 getResources().getIdentifier 而不是 [=13] =].第一个参数是可绘制对象的名称。只是名字,你的案例是 tour.getImage() 的结果,没有任何前缀。第三个参数是包名。您可以使用 getPackageName() 获取它。最后它应该是这样的:

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

假设您有访问资源的上下文和 tour.getImage() returns drawable 的不带扩展名的名称