content: package com.android.caij.xutilsdemo.fragment;
  
  import java.util.ArrayList;
  import java.util.List;
  import java.util.regex.Matcher;
  import java.util.regex.Pattern;
  
  import android.content.Context;
  import android.graphics.Bitmap;
  import android.os.Bundle;
  import android.support.annotation.Nullable;
  import android.support.v4.app.Fragment;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.BaseAdapter;
  import android.widget.ImageView;
  import android.widget.ListView;
  
  import com.android.caij.xutilsdemo.R;
  import com.lidroid.xutils.BitmapUtils;
  import com.lidroid.xutils.HttpUtils;
  import com.lidroid.xutils.ViewUtils;
  import com.lidroid.xutils.exception.HttpException;
  import com.lidroid.xutils.http.ResponseInfo;
  import com.lidroid.xutils.http.callback.RequestCallBack;
  import com.lidroid.xutils.http.client.HttpRequest;
  import com.lidroid.xutils.view.annotation.ViewInject;
  
  public class BitMapFragment extends Fragment{
  	
  	/**
  	 * 用的官方demo的图片地址
  	 */
  	private String[] imgSites = {
              "http://image.baidu.com/",
              "http://www.22mm.cc/",
              "http://www.moko.cc/",
              "http://eladies.sina.com.cn/photo/",
              "http://www.youzi4.com/"
      };
  	
  	@ViewInject(R.id.lv_image)
  	private ListView listView;
  
  	private MyAdapter adapter;
  	
  	private BitmapUtils bitmapUtils;
  
  	@Override
  	public View onCreateView(LayoutInflater inflater,
  			@Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
  		View view = inflater.inflate(R.layout.bitmap_fragment_view, container,
  				false);
  		ViewUtils.inject(this, view);
  		adapter = new MyAdapter(getActivity());
  		listView.setAdapter(adapter);
  		
  		bitmapUtils = new BitmapUtils(getActivity());
  		bitmapUtils.configDefaultLoadingImage(R.drawable.ic_launcher);
          bitmapUtils.configDefaultLoadFailedImage(R.drawable.down);
          bitmapUtils.configDefaultBitmapConfig(Bitmap.Config.RGB_565);
          
          loadImgList("http://www.22mm.cc/");
  		return view;
  	}
  	
  	
  	private class MyAdapter extends BaseAdapter {
  		
  		private List<String> imgSrcList;
  		private Context context;
  
  		public MyAdapter(Context context) {
  			super();
  			this.imgSrcList = new ArrayList<String>();
  			this.context = context;
  		}
  
  		@Override
  		public int getCount() {
  			return imgSrcList.size();
  		}
  
  		@Override
  		public Object getItem(int position) {
  			return imgSrcList.get(position);
  		}
  
  		@Override
  		public long getItemId(int position) {
  			return position;
  		}
  
  		@Override
  		public View getView(int position, View convertView, ViewGroup parent) {
  			ViewHolder holder = null;
  			if (convertView == null) {
  				convertView = View.inflate(context, R.layout.list_image_item, null);
  				holder = new ViewHolder();
  				holder.imageView = (ImageView) convertView.findViewById(R.id.img_item);
  				convertView.setTag(holder);
  			}
  			else {
  				holder = (ViewHolder) convertView.getTag();
  			}
  			
  			bitmapUtils.display(holder.imageView, imgSrcList.get(position));
  			
  			return convertView;
  		}
  
  		public void addSrc(List<String> imgSrcList) {
  			this.imgSrcList = imgSrcList;
  		}
  		
  	}
  	
  	private class ViewHolder {
  		public ImageView imageView;
  	}
  	
  	/**
  	 * @param url
  	 */
  	private void loadImgList(String url) {
          new HttpUtils().send(HttpRequest.HttpMethod.GET, url,
                  new RequestCallBack<String>() {
                      @Override
                      public void onSuccess(ResponseInfo<String> responseInfo) {
                      	adapter.addSrc(getImgSrcList(responseInfo.result));
                      	adapter.notifyDataSetChanged();//通知listview更新数据
                      }
  
                      @Override
                      public void onFailure(HttpException error, String msg) {
                      }
                  });
      }
  	
  	 /**
       * 得到网页中图片的地址
       */
      public static List<String> getImgSrcList(String htmlStr) {
          List<String> pics = new ArrayList<String>();
  
          String regEx_img = "<img.*?src=\"http://(.*?).jpg\""; // 图片链接地址
          Pattern p_image = Pattern.compile(regEx_img, Pattern.CASE_INSENSITIVE);
          Matcher m_image = p_image.matcher(htmlStr);
          while (m_image.find()) {
              String src = m_image.group(1);
              if (src.length() < 100) {
                  pics.add("http://" + src + ".jpg");
              }
          }
          return pics;
      }
  }
  