Невозможно установить изображение в ImageView из ListView, используя SimpleAdapter, ViewBinder и Asynctask - PullRequest
2 голосов
/ 12 мая 2011

У меня проблема. Я пытаюсь получить изображение из онлайн-источника и установить изображение в ListView 's ImageView. Тем не менее, я не могу этого сделать, потому что я не могу связать свои ImageView внутри ListView, так как они возвращают NullPointerException. Я понимаю, что должен использовать VieWBinder, чтобы установить изображение в ImageView в пределах ListView.
В настоящее время я использую класс ImageLoader из здесь , а также класс ViewBinder из здесь .
Это мой класс ViewBinder:

SearchResults sr = new SearchResults();
ImageDownloader imageDownloader = new ImageDownloader();

@Override
public boolean setViewValue(View view, Object data, String textRepresentation) {
    if (view instanceof ImageView && data instanceof Bitmap) {
    // TODO Auto-generated method stub
        for (int i = 0; i < sr.listData.size(); i++) {
            String imageISBN = sr.listData.get(i).get("coverImage");
            ImageView iv = (ImageView) view;
            Bitmap bm = (Bitmap) data;
            imageDownloader.download(imageISBN,iv);
            //iv.setImageBitmap(bm);
            return true;
        }
    }
    return false;
}

SearchResults - это класс, в котором я получил listData, в котором содержатся такие данные, как URL-адрес изображений. Как я могу использовать класс ImageLoader для вставки загруженного изображения в ImageView в ListView с использованием ViewBinder?

* Стороннее примечание: это сообщило бы мне ошибку "05-12 13: 16: 37.195: INFO / System.out (736): произошла ошибка resolUri на неверном растровом изображении uri: http://lib.syndetics.com/index.aspx?isbn=9780137081851/SC.GIF&client=tpoly&type=xw12 "а также *

1 Ответ

0 голосов
/ 19 сентября 2012

Установить тег для представления изображения, например, указать URL-адрес изображения. И в вашем onPostExecute извлеките представление изображения по списку view.findViewByTag. Я не согласен использовать asynctask для извлечения изображений, так как было бы много asynctask, если в вашем представлении списка много элементов списка.

...