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


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

关于android - 代码中的Android ImageView setImageResource,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60174879/

10-10 18:31