-1

我想通过ImageLoader类将图像加载到可折叠应用栏中。当我在其他activities/fragments/recyclerview上使用相同的代码时,它的工作完美,但在可折叠应用程序栏中失败。使用ImageLoader通过URL在可折叠应用栏中加载图像

这里是我使用的代码:我想可能是我不会给正确的上下文

   ImageLoader myLoader=new ImageLoader(getApplicationContext()); 
       myLoader.DisplayImage(flag,ivFlag); 

我试着使用手动加载图像通过这个代码和它的工作完美:

ivFlag.setImageDrawable(getResources().getDrawable(R.drawable.india)); 

回答

0

我用,而不是简单的ImageView NetworkImageView和它的工作般的魅力。这是我做的:

private ImageLoader mImageLoader;  
NetworkImageView proficPic,ivFlag; 

这就是我在我的onCreate()方法中使用它的方式。

mImageLoader = VolleySingleton.getInstance().getImageLoader(); 

       proficPic.setImageUrl(imageURL, mImageLoader); 
       ivFlag.setImageUrl(flag, mImageLoader); 

这里是我的VolleySingleton.java类

import android.content.Context; 
import android.graphics.Bitmap; 
import android.support.v4.util.LruCache; 


import com.android.volley.RequestQueue; 
import com.android.volley.toolbox.ImageLoader; 
import com.android.volley.toolbox.Volley; 
import com.truelancer.app.ProfileDetail; 


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


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


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


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

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


} 
0

A,也许是低效的,方法如下:

 ImageLoader imageLoader = ImageLoader.getInstance(); 
     imageLoader.loadImage(IMAGE_URI, new ImageLoadingListener() { 
     @Override 
     public void onLoadingStarted(String imageUri, View view) { 

     } 

     @Override 
     public void onLoadingFailed(String imageUri, View view, FailReason failReason) { 

     } 

     @Override 
     public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { 
      // Sets the background drawable in callback 
      BitmapDrawable drawable = new BitmapDrawable(loadedImage); 
      collapsingToolbarLayout.setBackground(drawable); 
     } 

     @Override 
     public void onLoadingCancelled(String imageUri, View view) { 

     } 
    });