Как следует из названия, я использую BaseAdapter для отображения элементов в ListView. Очевидно, что ListView будет повторно использовать представления, включая TextView и NetworkImageView.
Предполагая, что 3 элемента могут отображаться одновременно, NetworkImageView будет повторно использоваться для элементов с индексом: 1, 4, 7, ....
В зависимости от того, что отображается, NetworkImageView будет либо:
- запрашивать изображение из Сети и отображать его,
- отображать кэшированное растровое изображение,
- или отображать локальный доступный ресурс.
Элементы 2 и 3 работают нормально, однако в сценарии 1, допустим, мы отображаем элемент с индексом 4 из сети, и пользователь прокручивает элемент 7 до загрузки 4, и это локальный ресурс, мы отображаем локальный ресурс. Однако наш запрос сетевого образа может быть только что завершен, поэтому мы в конечном итоге отображаем неправильное изображение.
Как я могу обеспечить правильное (ожидаемое) поведение?