我的可绘制文件夹中有100多张图片(乡村旗帜)的数据库。
现在,我想在ImageView中显示您当前所在国家/地区的标志。
我的国家/地区String country_variable = address.getCountryCode();
我用flag.setImageDrawable(getResources().getDrawable(R.drawable.country_variable));
众所周知,R.drawable.country_variable不起作用,因为编译器无法在drawable文件夹中找到名为country_variable的图像。
这样做的最佳方式是什么?
答案 0 :(得分:12)
您应该能够使用getResources()。getIdentifier()来获取资源名称的id。类似的东西:
flag.setImageDrawable(getResources().getDrawable(getResources().getIdentifier("drawable/" + country_variable, "drawable", getPackageName()));
答案 1 :(得分:6)
试试这个:
flag.setImageDrawable(getResources().getDrawable(getResources().getIdentifier(country_variable, "drawable", getPackageName()));