版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Hana_one/article/details/82861158
一 .第一种方法 name 为文件名(不带后缀名) .
private int getDrawableRes(Context context, String name) {
String packageName = context.getPackageName();
return context.getResources().getIdentifier(name, "drawable", packageName);
}
二 .也可以通过反射 imgName 为文件名(不带后缀名) .
public int getDrawableResByReflect(String imgName) {
Class drawable = R.drawable.class;
Field field;
int r_id;
try {
field = drawable.getField(imgName);
r_id = field.getInt(field.getName());
} catch (Exception e) {
r_id = R.drawable.ic_add_chord;
}
KLog.d(r_id);
return r_id;
}