2012-03-08 3 views
1

Мне интересно, как я могу установить Bitmap Drawable ресурс из динамических переменных, имени изображения/типа строка:динамическая Bitmap вытяжка в андроиде

public CustomIcon getView(int position, View convertView, ViewGroup parent) { 
     String label; 
     String image; 
     DataBaseManager db = new DataBaseManager(context); 
     label = db.getIconLabel(mIcons.get(position)); 
     image = db.getIconImage(mIcons.get(position)); 
     Bitmap bitmap = BitmapFactory.decodeResource(parent.getResources(), 
       parent.getResources().getIdentifier(image, "drawable", getApplicationContext().getPackageName())); 
     Log.v(TAG, "current pos:"+ position); 
     CustomIcon icon = new CustomIcon(context, bitmap,label); 

     return icon; 
    } 

часть в вопросе

Bitmap bitmap = BitmapFactory.decodeResource(parent.getResources(), 
         R.drawable.[image]); 

КОД ИЗМЕНЕНО ВЫШЕ -

ответ

1

способ борьбы с этим, чтобы получить resour се ID первым, а затем использовать BitmapFactory метод:

String imgName = "myicon"; 
int resID = parent.getResources().getIdentifier(imgName, "drawable", "my.app.package.name"); 
Bitmap bitmap = BitmapFactory.decodeResource(parent.getResources(), resID); 
+0

ах спасибо я просто возвращающимися, чтобы закрыть эту тему, .. я в конечном итоге делает его немного иначе, чем вы предложили, и я обновление кода выше .. есть есть ли преимущество сделать это своим путем или моим? см. выше edit - – erik

+0

@erik: ваш обновленный код - именно то, что у меня есть в моем ответе –

Смежные вопросы