前言
在维护之前的项目时发现一段根据图片名称获取图片资源文件的代码在AndroidStudio中报cant resolve method错误,如下
R.mipmap mm = new R.mipmap();
Field field = null;
try {
field = mm.getClass().getDeclaredField("flag_" + country);
country_id = (int) field.get(mm);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
getClass()方法报红,虽然代码运行起来没影响,但报红是件很难受的事情,所以整理修改一下
根据文件名获取资源文件的两种方式
drawable和mipmap下方式相同,只需要将mipmap修改为drawable即可
方式一:
/**
* 根据图片名称获取图片的资源id的方法
* @param imageName
* @return
*/
public int getResourceId(String imageName){
Context ctx=getBaseContext();
int resId = getResources().getIdentifier(imageName,