从字符串值设置 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
的不带扩展名的名称
我有一个从名为 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
的不带扩展名的名称