我有一个将标题、副标题和图片添加到 ListView 的惰性适配器。最近我在我的 ListView 中注意到我的图像被复制了。
这是我将数组添加到适配器的地方
protected void onPostExecute(String result) {
LazyAdapter adapter = new LazyAdapter(Services.this,menuItems);
serviceList.setAdapter(adapter);
}
这是我调用异步方法来添加图像的地方(它是一个 url,这就是它在异步方法中的原因)
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% 的时间在那里看到错误的图片会很烦人,尤其是当我尝试调试时。
任何帮助都会很棒。谢谢
这是一张图片,看看发生了什么