一个继承BaseAdapter的适配器的例子

public class AroundAdapter extends BaseAdapter {
    private ArrayList<MaintanceShopItem> aroundList;
    private LayoutInflater inflater;
    private ImageFetcher imageFetcher;

    public AroundAdapter(Context context) {
        inflater = LayoutInflater.from(context);
    }

    public AroundAdapter(Context context, ArrayList<MaintanceShopItem> urgents) {
        this.aroundList = urgents;
        inflater = LayoutInflater.from(context);
        notifyDataSetInvalidated();
    }

    public AroundAdapter(Context context, ArrayList<MaintanceShopItem> urgents,
            ImageFetcher imageFetcher) {
        this.aroundList = urgents;
        inflater = LayoutInflater.from(context);
        this.imageFetcher = imageFetcher;
        notifyDataSetInvalidated();
    }
    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return aroundList == null ? 0 : aroundList.size();
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return aroundList.get(position);
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder viewHolder = null;
        if (convertView == null) {
            convertView = inflater.inflate(R.layout.around_list_item, null);
            viewHolder = new ViewHolder();
            viewHolder.around_imageview = (ImageView) convertView.findViewById(R.id.around_imageView1);
            viewHolder.around_complany_name = (TextView) convertView.findViewById(R.id.around_complany_name);
            viewHolder.around_complany_address = (TextView) convertView.findViewById(R.id.around_complany_address);
            viewHolder.around_complany_distance = (TextView) convertView
                    .findViewById(R.id.around_complany_distance);
            viewHolder.around_complany_star = (RatingBar) convertView.findViewById(R.id.around_complany_start);
            viewHolder.around_complany_scope = (TextView) convertView.findViewById(R.id.around_complany_scope);
            convertView.setTag(viewHolder);
        } else {
            viewHolder = (ViewHolder) convertView.getTag();
        }
        MaintanceShopItem item = aroundList.get(position);
        viewHolder.around_complany_name.setText(item.getStoreBasic().getStoreName());
        viewHolder.around_complany_address.setText(item.getStoreBasic().getStoreAddress());
        String kilomiter = String.valueOf(Integer.parseInt(item.getStoreBasic().getStoreDistance()) / 10 / 100.0)
                + "Km";
        viewHolder.around_complany_distance.setText(kilomiter);
        viewHolder.around_complany_star.setStepSize(0.5f);
        viewHolder.around_complany_star.setRating(Float.valueOf(item.getStoreBasic().getStoreStar()));
        viewHolder.around_complany_scope.setText(item.getStoreBasic().getStoreScope());
        //dealing with the image url
        viewHolder.around_imageview.setTag(item.getStoreBasic().getStoreImage());// ���ñ�ǩ
        Log.v("imageUrl", item.getStoreBasic().getStoreImage());
        if (imageFetcher != null)
            imageFetcher.loadImage(item.getStoreBasic().getStoreImage(), viewHolder.around_imageview); 
        
        
        return convertView;
    }
    static class ViewHolder {
        private ImageView around_imageview;
        private TextView around_complany_name;
        private TextView around_complany_address;
        private TextView around_complany_distance;
        private RatingBar around_complany_star;
        private TextView around_complany_scope;
    }
}

 

posted @ 2013-04-10 15:50  linsen@java  阅读(257)  评论(0编辑  收藏  举报