WEB开发网
开发学院手机开发Android 开发 Android实现ListView异步加载图片 阅读

Android实现ListView异步加载图片

 2010-06-19 18:23:00 来源:WEB开发网   
核心提示:ListView异步加载图片是非常实用的方法,凡是是要通过网络获取图片资源一般使用这种方法比较好,Android实现ListView异步加载图片,用户体验好,下面就说实现方法

ListView异步加载图片是非常实用的方法,凡是是要通过网络获取图片资源一般使用这种方法比较好,用户体验好,下面就说实现方法,先贴上主方法的代码:

Java代码

package cn.wangmeng.test;

import java.io.IOException;

import java.io.InputStream;

import java.lang.ref.SoftReference;

import java.net.MalformedURLException;

import java.net.URL;

import java.util.HashMap;

import android.graphics.drawable.Drawable;

import android.os.Handler;

import android.os.Message;

public class AsyncImageLoader {

private HashMap> imageCache;

public AsyncImageLoader() {

imageCache = new HashMap>();

}

public Drawable loadDrawable(final String imageUrl, final ImageCallback imageCallback) {

if (imageCache.containsKey(imageUrl)) {

SoftReference softReference = imageCache.get(imageUrl);

Drawable drawable = softReference.get();

if (drawable != null) {

return drawable;

}

}

final Handler handler = new Handler() {

public void handleMessage(Message message) {

imageCallback.imageLoaded((Drawable) message.obj, imageUrl);

}

};

new Thread() {

@Override

public void run() {

Drawable drawable = loadImageFromUrl(imageUrl);

imageCache.put(imageUrl, new SoftReference(drawable));

Message message = handler.obtainMessage(0, drawable);

handler.sendMessage(message);

}

}.start();

return null;

}

public static Drawable loadImageFromUrl(String url) {

URL m;

InputStream i = null;

1 2 3 4 5 6  下一页

Tags:Android 实现 ListView

编辑录入:coldstar [复制链接] [打 印]
赞助商链接