1.常用方法
public int getResId(String name,Context context){ Resources r = context.getResources(); int id = r.getIdentifier(name,"drawable","com.demo"); return id; }
2.使用反射(推荐,性能高)
public class ResourceMan { public static int getResId(String variableName, Class<?> c) { try { Field idField = c.getDeclaredField(variableName); return idField.getInt(idField); } catch (Exception e) { e.printStackTrace(); return -1; } } }
使用方法:
int id = ResourceMan.getResId("icon",R.drawable.class);