Невозможно установить изображение в ImageView из ListView с помощью SimpleAdapter, ViewBinder и Asynctask

У меня проблема. Я пытаюсь получить изображение из онлайн-источника и установить изображение в ListView 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): сбой разрешенияUri на неверном растровом uri: http://lib.syndetics.com/index.aspx?isbn=9780137081851/SC.GIF&client=tpoly&type=xw12 ", а также *


person Joel Seah    schedule 12.05.2011    source источник


Ответы (1)


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

person Jayshil Dave    schedule 19.09.2012