可能重复:
从字符串值设置 Android 图像
我需要使用我拥有的源字符串在 Android 上以编程方式更改背景图像。例如,我有一个从 XML 文件“source1”、“source2”等中获取的字符串数组,那么如何将它们设置为背景作为图像?我看到了类似的示例 mTextView.setBackgroundResource(R.drawable.myResouce);
,但我不明白如何从字符串设置 mySource。可能通过可绘制对象有可能吗?
可能重复:
从字符串值设置 Android 图像
我需要使用我拥有的源字符串在 Android 上以编程方式更改背景图像。例如,我有一个从 XML 文件“source1”、“source2”等中获取的字符串数组,那么如何将它们设置为背景作为图像?我看到了类似的示例 mTextView.setBackgroundResource(R.drawable.myResouce);
,但我不明白如何从字符串设置 mySource。可能通过可绘制对象有可能吗?
将您的图像名称保留在可绘制对象中,与 String.xml 中的名称相同。
比如说:images.png它应该是String.xml中的图像
如果您将此名称传递给getResourceId(),它将返回带有该字符串变量的 Drawable。
public static int getResourceId(Context context, String name, String resourceType) {
return context.getResources().getIdentifier(name, resourceType, context.getPackageName());
}
int iconId = getResourceId(Activity.this, image, "drawable");
ImageView categoryIcon = (ImageView) v.findViewById(R.id.category_icon);
categoryIcon.setImageResource(iconId);