我有一个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);

但是,您实际上应该尝试对要支持的国家使用不同的文件夹资源。

08-03 12:22