我有一個Lazy適配器,將標題,副標題和圖片添加到ListView。最近我一直注意到我的ListView中我的圖像被重複。LazyAdapter複製圖像
這裏就是我我的陣列添加到適配器
protected void onPostExecute(String result) {
LazyAdapter adapter = new LazyAdapter(Services.this,menuItems);
serviceList.setAdapter(adapter);
}
這裏就是我所謂的異步方法來添加我的圖像(其網址這就是爲什麼它是一個異步方法)
vi.findViewById(R.id.thumbnail).setVisibility(View.VISIBLE);
title.setText(items.get("title")); // Set Title
listData.setText(items.get("htmlcontent")); // Set content
thumb_image.setBackgroundResource(R.layout.serviceborder);//Adds border
new setLogoImage(thumb_image).execute(); // Async Method call
而且這裏是我把我的位圖圖像
private class setLogoImage extends AsyncTask<Object, Void, Bitmap> {
private ImageView imv;
public setLogoImage(ImageView imv) {
this.imv = imv;
}
@Override
protected Bitmap doInBackground(Object... params) {
Bitmap bitmap = null;
try {
bitmap = BitmapFactory.decodeStream((InputStream)new URL(items.get("thumburl")).getContent());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return bitmap;
}
@Override
protected void onPostExecute(Bitmap result) {
imv.setImageBitmap(Bitmap.createScaledBitmap(result, 50, 50, false));
}
}
的items
變量是一個存儲我的信息的HashMap。我得到了賦給適配器的數據的位置並將其分配給項目HashMap。像這樣:
items = new HashMap<String, String>();
items = data.get(position);
出現這種情況隨機,現在看來,它很煩人看到錯誤畫面出現的時間大約30%,尤其是當我試圖調試。
任何幫助將是偉大的。由於
這裏是看發生了什麼
如果你想這樣做更友好的方式,你可以使用[通過koush'UrlImageViewHelper'項目。(https://github.com/koush/UrlImageViewHelper) – tolgap