已经使用NetworkImageView下载的Android加载图像上的Volley不起作用

时间:2014-03-07 10:54:29

标签: java android android-volley networkimageview

我有一个在后台下载图像的功能是:

    @UiThread
void donwloadImage(final String url,ImageLoader mImageLoader){
ImageRequest request = new ImageRequest(url, new Response.Listener<Bitmap>() {

        @Override
        public void onResponse(Bitmap response) {
                      log.i("Download","url="+url);
        }
    }, 0, 0, null, null);
    queue.add(request);
}

下载工作正常,但是当我尝试使用

检索此图像时
com.android.volley.toolbox.NetworkImageView 
image.setImageUrl(url,VolleySingleton.getInstance(context).getImageLoader());

with image来自xml:

        <com.android.volley.toolbox.NetworkImageView
            android:id="@+id/imgArticle"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:visibility="visible" />

当我没有网络时,这不起作用。 (图像已经下载了函数donwloadImage(final String url,ImageLoader mImageLoader))我该如何解决这个问题?

我使用VolleySingleton:

package com.intescia.library.service.metier.volley;
import android.content.Context;
import android.graphics.Bitmap;

import android.util.LruCache;

import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;

public class VolleySingleton {
private static VolleySingleton mInstance = null;
private RequestQueue mRequestQueue;
private ImageLoader mImageLoader;

private VolleySingleton(Context context){
    mRequestQueue = Volley.newRequestQueue(context);
    mImageLoader = new ImageLoader(this.mRequestQueue, new ImageLoader.ImageCache() {
        private final LruCache<String, Bitmap> mCache = new LruCache<String, Bitmap>    
       (1000);
        public void putBitmap(String url, Bitmap bitmap) {
            mCache.put(url, bitmap);
        }
        public Bitmap getBitmap(String url) {
            return mCache.get(url);
        }
    });
}

public static VolleySingleton getInstance(Context context){
    if(mInstance == null){
        mInstance = new VolleySingleton(context);
    }
    return mInstance;
}

public RequestQueue getRequestQueue(){
    return this.mRequestQueue;
}

public ImageLoader getImageLoader(){
    return this.mImageLoader;
}

}

感谢您的回复

0 个答案:

没有答案