onLoadingComplete未调用Universal Imageloader

时间:2014-02-28 07:08:18

标签: android universal-image-loader

我必须在加载图像后立即做一些事情。我正在使用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;

 }

2 个答案:

答案 0 :(得分:0)

我实际上是要求从不同的地方加载2次相同的图像。所以onLoadingComplete被要求提供另一个代码片段,而不是我上面提到的代码片段。傻傻的......这是一个愚蠢的错误。

答案 1 :(得分:0)

在我的情况下,我将文件路径作为字符串传递,而它要求将filePath的URI作为ImageLoader.getInstance().displayImage(imageURL, img, options, new SimpleImageLoadingListener())的第一个参数;