1

我有一个 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,那么我该怎么做呢?提前致谢

4

3 回答 3

3

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

ImageView imgView=(ImageView)findViewById(R.id.imageView1);
int id = getResources().getIdentifier(lowerCountryCode.toLowerCase(), "drawable", getPackageName());
imgView.setImageDrawable(res.getDrawable(id));
于 2013-03-09T12:21:16.990 回答
1

以下代码应该可以正常工作(假设您的文件夹中确实有一个带有名称lowerCountryCoderes/drawable/文件)

String lowerCountryCode = countryCode.toLowerCase();
int id = getResources().getIdentifier(lowerCountryCode, "drawable", getPackageName());
ivCard[0].setImageResource(id);
于 2013-03-09T12:13:11.177 回答
0

我用那个代码....

ImageView[] ivCard = new ImageView[1];

@override    
protected void onCreate(Bundle savedInstanceState)  

ivCard[0]=(ImageView)findViewById(R.id.imageView1);
于 2013-03-09T12:10:30.477 回答