在以下情况下:使用AsyncTask的替代方法是什么?如何将图像加载到列表视图适配器中的正确行中
我使用AsyncTask将映像加载到适配器中。适配器行有许多TextViews和一个ImageView。 ImageView是我加载图像的地方。该图像正从网上加载。问题是,当我滚动时,错误的图像会显示在一行/单元中 - 直到正确的图像有时间到达。我如何防止这种图像不匹配发生? 我在问这个问题,因为我想了解它是如何工作的:我不只是想要一些可能为我工作的库(我已经尝试过很多库,都失败了)。
问题再次出现:AsyncTask会导致图像加载到错误的行中,以便用户可以清楚地看到图像正在查找其最终目的地。
我希望问题很清楚。为了完整起见,下面是我在适配器的getView
方法内调用来加载每个图像的方法。该方法也在适配器内部。 我使用AsyncTask的替代方案是什么?
private void loadImage(final ImageView photo, String imageUrl) {
new AsyncTask<String, String, Bitmap>() {
@Override
protected Bitmap doInBackground(String... param) {
try {
Bitmap b = callToServer(imageUrl);//takes long
return b;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
@Override
protected void onPostExecute(Bitmap ret) {
if (ret != null) {
photo.setImageBitmap(ret);
}
}
}.execute(imageUrl);
}
您可以使用piccasso库 – 2015-03-13 18:57:06
正如问题所述:我想了解t他处理作品。但只是踢脚踢:我已经尝试过毕加索。 – 2015-03-13 18:58:52