Android实现ListView异步加载图片的方法

2019-12-10 20:00:59于海丽
  • URL m;  InputStream i = null; 
  • try {  m = new URL(url); 
  • i = (InputStream) m.getContent();  } catch (MalformedURLException e1) { 
  • e1.printStackTrace();  } catch (IOException e) { 
  • e.printStackTrace();  } 
  • Drawable d = Drawable.createFromStream(i, "src");  return d; 
  • }  public interface ImageCallback { 
  • public void imageLoaded(Drawable imageDrawable, String imageUrl);  } 
  • 以上代码是实现异步获取图片的主方法,SoftReference是软引用,是为了更好的为了系统回收变量,重复的URL直接返回已有的资源,实现回调函数,让数据成功后,更新到UI线程。

    几个辅助类文件:

     

     
    1. package cn.wangmeng.test;  public class ImageAndText { 
    2. private String imageUrl;  private String text; 
    3. public ImageAndText(String imageUrl, String text) {  this.imageUrl = imageUrl; 
    4. this.text = text;  } 
    5. public String getImageUrl() {  return imageUrl; 
    6. }  public String getText() { 
    7. return text;  }