android以编程方式从字符串中更改背景图像

时间:2012-04-18 10:54:38

标签: java android

  

可能重复:
  Setting Android images from string value

我需要使用源代码字符串在Android上以编程方式更改背景图像。 例如,我有一个从XML文件“source1”,“source2”等获取的字符串数组,那么如何将它们设置为背景图像? 我看到像mTextView.setBackgroundResource(R.drawable.myResouce);这样的例子,但我不明白如何从String设置mySource。可能是通过可绘制的对象吗?

1 个答案:

答案 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);