我有一个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,所以我该怎么做呢?提前致谢
答案 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);