图像视图在代码中设置图像资源

时间:2013-03-09 11:59:18

标签: java android image android-layout image-processing

我有一个imageView,我想显示您当前所在国家/地区的一个小图标。我可以获取国家/地区代码,但问题是我无法动态更改imageView资源。我的图片文件都是小写的

    String lowerCountryCode = countryCode.toLowerCase();
    String resource = "R.drawable." + lowerCountryCode;
    img.setImageResource(resource);
int id = getResources().getIdentifier(lowerCountryCode, "drawable", getPackageName());
setImageResource(id);

abve是我的代码。

现在,当然这不起作用,因为set Image Resource想要一个int,所以我该怎么做呢?提前致谢

3 个答案:

答案 0 :(得分:3)

我的意思是你知道你想用于一个国家和另一个国家的文件名(Drawable)。

ImageView imgView=(ImageView)findViewById(R.id.imageView1);
int id = getResources().getIdentifier(lowerCountryCode.toLowerCase(), "drawable", getPackageName());
imgView.setImageDrawable(res.getDrawable(id));

答案 1 :(得分:1)

以下代码应该可以正常运行(假设您的lowerCountryCode文件夹中确实有一个名为res/drawable/的文件)

String lowerCountryCode = countryCode.toLowerCase();
int id = getResources().getIdentifier(lowerCountryCode, "drawable", getPackageName());
ivCard[0].setImageResource(id);

答案 2 :(得分:0)

我使用该代码......

ImageView[] ivCard = new ImageView[1];

@override    
protected void onCreate(Bundle savedInstanceState)  

ivCard[0]=(ImageView)findViewById(R.id.imageView1);