Это основано на ответе @Macarse.
Используйте это, чтобы получить идентификатор ресурсов более быстрым и удобным для кода образом.
public static int getId(String resourceName, Class<?> c) {
try {
Field idField = c.getDeclaredField(resourceName);
return idField.getInt(idField);
} catch (Exception e) {
throw new RuntimeException("No resource ID found for: "
+ resourceName + " / " + c, e);
}
}
Пример:
getId("icon", R.drawable.class);