【发布时间】:2014-02-28 07:08:18
【问题描述】:
我必须在图像加载后立即做一些事情。我正在使用SimpleImageLoadingListener 来监听回调方法,但奇怪的是onLoadingComplete 从未被调用,但onLoadingStarted 会。我已经检查过没有调用图像加载失败或取消方法——这意味着没有错误。任何人都可以指出原因和纠正它的步骤。谢谢。
public View getView(int position, View convertView, ViewGroup parent) {
ImageView img = new ImageView(mContext);
img.setLayoutParams(new Gallery.LayoutParams(coverflowWidth, coverflowHeight));
img.setScaleType(ScaleType.CENTER_INSIDE);
img.setTag(position);
ImageLoader.getInstance().displayImage(imageURL, img, options, new SimpleImageLoadingListener()
{
boolean cacheFound;
@Override
public void onLoadingStarted(String url, View view) {
List<String> memCache = MemoryCacheUtil.findCacheKeysForImageUri(url, ImageLoader.getInstance().getMemoryCache());
cacheFound = !memCache.isEmpty();
if (!cacheFound) {
File discCache = DiscCacheUtil.findInCache(url, ImageLoader.getInstance().getDiscCache());
if (discCache != null) {
cacheFound = discCache.exists();
}
}
}
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
//never gets called
ImageView image = (ImageView) view;
if (cacheFound) {
image.setImageBitmap(loadedImage);
}
else
{
ImageLoader.getInstance().displayImage(imageURL, image, options, null);
}
}
});
return img;
}
【问题讨论】:
标签: android universal-image-loader