我有一个imageView,我想显示您当前所在国家的小图标。我可以获取国家/地区代码,但是问题是我无法动态更改imageView资源。我的图像文件全部为小写(例如:国家/地区代码=美国,图像文件=美国)
我的代码(countryCode是当前大写字母的countryCode):
String lowerCountryCode = countryCode.toLowerCase();
String resource = "R.drawable." + lowerCountryCode;
img.setImageResource(resource);
现在,这当然是行不通的,因为setImageResource
想要int
,那么我该怎么做? 最佳答案
将您具有的国家名称映射到int
方法中要使用的setImageResource
的一种简单方法是:
int id = getResources().getIdentifier(lowerCountryCode, "drawable", getPackageName());
setImageResource(id);
但是,您实际上应该尝试对要支持的国家使用不同的文件夹资源。