我需要使用源代码字符串在Android上以编程方式更改背景图像。
例如,我有一个从XML文件“source1”,“source2”等获取的字符串数组,那么如何将它们设置为背景图像?
我看到像mTextView.setBackgroundResource(R.drawable.myResouce);
这样的例子,但我不明白如何从String设置mySource。可能是通过可绘制的对象吗?
答案 0 :(得分:4)
将您的图像名称保留在与String.xml相同的drawable中。
Say for eg:images.png 在String.xml中应该是 images
如果将此名称传递给 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);