我在我的ListView
中實現了延遲加載圖像。 我使用AsyncTask
從互聯網下載圖像,並將其綁定到UIThread中的ImageView。在Android上的ListView中延遲加載圖像
它的工作除了當我滾動ListView
變化很快,下載的圖像有時被綁定到列表中的錯誤項目。
我想問題來自convertView
在BaseAdapter
的重用。 任何想法來解決它?
非常感謝。
編輯: 我張貼的答案如下:
public void setBitmap(int position, Bitmap image) {
View itemView = mListView.getChildAt(position - mListView.getFirstVisiblePosition());
if (itemView != null) {
ImageView itemImageView = (ImageView) itemView.findViewById(R.id.item_imageview);
itemImageView.setImageBitmap(image);
}
}
我在這裏嘗試的例子http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html它的工作原理,但仍然得到了錯誤的圖像結合的機會。技巧比較任務的實例看起來與Janusz的答案相同。但它使用弱引用來保存ImageView的實例。需要深入挖掘。有任何想法嗎? – shiami 2010-09-24 02:10:15