Android开发实现异步加载图片

来源:互联网 发布:小小食杂铺 知乎 编辑:程序博客网 时间:2024/06/04 19:02

直接上代码,不解释。以下是一个gridview加载网络图片。

public class GradeView_bianmin_chuxing extends BaseAdapter{
List<User_BianMin_SheQuHuoDong> listuser;
Context context;
public ImageLoader imageLoader;


public GradeView_bianmin_chuxing(List<User_BianMin_SheQuHuoDong> listuser, Context context) {
    super();
    this.listuser = listuser;
    this.context = context;
    ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context)
            .threadPriority(Thread.NORM_PRIORITY - 2).denyCacheImageMultipleSizesInMemory()
            .diskCacheFileNameGenerator(new Md5FileNameGenerator())
            .tasksProcessingOrder(QueueProcessingType.LIFO).build();
        ImageLoader.getInstance().init(config);
        imageLoader=ImageLoader.getInstance();

}
@Override
public int getCount() {
    // TODO Auto-generated method stub
    return listuser.size();
}
@Override
public Object getItem(int arg0) {
    // TODO Auto-generated method stub
    return listuser.get(arg0);
}
@Override
public long getItemId(int arg0) {
    // TODO Auto-generated method stub
    return 0;
}
//webviewclient
class myclient extends WebViewClient{

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        // TODO Auto-generated method stub
        view.loadUrl(url);
        
        return true;
    }
    
}
@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
    // TODO Auto-generated method stub
    arg1=LayoutInflater.from(context).inflate(R.layout.item_gradview_bianmin_chuxing, null);
    ImageView img_item_gradview_bianmin_chuxing=(ImageView) arg1.findViewById(R.id.img_item_gradview_bianmin_chuxing);
    TextView tv_item_gradview_bianmin_chuxing=(TextView) arg1.findViewById(R.id.tv_item_gradview_bianmin_chuxing);
    tv_item_gradview_bianmin_chuxing.setText(listuser.get(arg0).getTitle());
    imageLoader.displayImage(listuser.get(arg0).getPicpath(), img_item_gradview_bianmin_chuxing,getDefaultOptions());
    return arg1;
}
/**
 * 设置默认图片
 * @return
 */
public static DisplayImageOptions getDefaultOptions() {
    //设置图片加载的属性
    Builder b = new DisplayImageOptions.Builder();
    b.showImageForEmptyUri(R.drawable.no_pic);
    b.showImageOnFail(R.drawable.no_pic);
    b.showImageOnLoading(R.drawable.loading);
    b.resetViewBeforeLoading(Boolean.TRUE);
    b.cacheOnDisk(Boolean.TRUE);
    b.cacheInMemory(Boolean.TRUE);
    b.imageScaleType(ImageScaleType.EXACTLY_STRETCHED);
    return b.bitmapConfig(Bitmap.Config.RGB_565).build();
}

}



0 0