Android - проблема с отложенной загрузкой изображений в ListView

Это очень распространенный сценарий: отображение изображений в ListView, которые необходимо загрузить из Интернета.

Прямо сейчас у меня есть собственный подкласс ArrayAdapter, который я использую для ListView. В моей реализации getView () ArrayAdapter я создал отдельный поток для загрузки изображения. После завершения загрузки, он ищет соответствующий ImageView и устанавливает изображение с помощью ImageView.setImageDrawable (). Таким образом, решение, которое я использовал, похоже на это:Ленивая загрузка изображений в ListView

Проблема яу меня есть то, что, как только я сделаю вызов setImageDrawable () в ImageView, ListView каким-то образом обновляет все в настоящее время видимые строки в списке! Это приводит к бесконечному циклу:

getView () вызываетсяпорождается нить для загрузки изображенияизображение загружено; setImageDrawable () вызывается в ImageViewListView поднимает его по какой-то причине и обновляет себяДля обновления ListView, getView () вызывается для каждой видимой строки, поэтому мы возвращаемся к шагу 1 и все повторяется

Так что, насколько я вижу, решение, предложенное вAndroid - Как мне сделать ленивую загрузку изображений в ListView » (см. ссылку выше) просто нет работа. Может показаться, что это так, но он будет работать очень медленно, потому что в фоновом режиме он продолжает перезагружать видимые в данный момент строки.

Кто-нибудь сталкивался с этим раньше и / или имел решение для этого?

Ответы на вопрос(4)

Ваш ответ на вопрос