2015-06-05 5 views
-3

Я хочу объявить новый битмап, но у меня есть некоторые имена для изображения, R.raw.XXXXXXX, , и я не хочу создавать ужасный переключатель со всеми возможности ... любая идея?Объявление растрового изображения с именем ресурса в строке

например: Bitmap bitAnimal = BitmapFactory.decodeResource (getResources(), myString);

спасибо!

ответ

0

Вы можете сделать что-то вроде этого я полагаю:

Bitmap bm = BitmapFactory.decodeResource(getResources(), getId(myString, myClass); 

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); 
    } 
}