2012-07-03 4 views
0

У меня есть ListActivity, который отображает две части информации в каждой строке списка (одно изображение в ImageView и текстовое описание, заданное в TextView). Эти данные я получаю через файл XML из загрузки. Все отлично работает !!!!! :-).получить растровое изображение из ImageView в ListView

OnListItemClick, я хотел бы получить Bitmap от ImageView, который выбрал пользователь.

Чтобы получить изображение из ImageView, я использую это:

ImageView img = (ImageView) l.findViewById(R.id.imageViewXYZ); 
img.buildDrawingCache(); 
Bitmap b = img.getDrawingCache(); 

Но внутри onClick случае ListActivity, как я могу получить растровое изображение?

ответ

3
yourListView.setOnItemClickListener(new OnItemClickListener() { 
     @Override 
     public void onItemClick(final AdapterView<?> adapterView, final View view, final int position, final long id) { 
      final ImageView imageView = (ImageView) view.findViewById(R.id.imageViewXYZ); 
      final BitmapDrawable bitmapDrawable = (BitmapDrawable) imageView.getDrawable(); 
      final Bitmap yourBitmap = bitmapDrawable.getBitmap(); 
     } 
    }); 

Кодекс предполагает, что у вас есть набор растровых изображений в ListViews ImageView элемента через setImageBitmap (CAST в BitmapDrawable)

+0

Как вы сказали, но подмигнули не работает, подмигнули давая NullPointExecption ... «img» не может попасть в ListView ImageView ... final BitmapDrawable bitmapDrawable = (BitmapDrawable) imageView.getDrawable(); Есть ли другой способ получить Bitmap из ListView? Я использую ListActivity inflate в TabActivity, как вы видите на изображении выше. Спасибо за помощь. – lfaa

+0

Имеются ли элементы вашего списка с ImageViews? Когда вы нажимаете на элемент, вы получаете представление элемента в методе onItemClick, а ImageView должен быть где-то в иерархии –