/** * ArrayList Adapter泛型类 * Created by lezg on 2014/8/14. */public abstract class ArrayListAdapter<T> extends BaseAdapter {    protected ArrayList<T> listItems;    protected Context mContext;    public ArrayListAdapter(Context context,ArrayList<T> datas) {        this.mContext = context;        this.listItems = datas;    }    @Override    public int getCount() {        if (listItems != null) {            return listItems.size();        } else {            return 0;        }    }    @Override    public Object getItem(int position) {        return listItems == null ? null : listItems.get(position);    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public abstract View getView(int position, View convertView, ViewGroup viewGroup);    public void setData(ArrayList<T> datas) {        this.listItems = datas;        notifyDataSetChanged();    }}



/** * 附近Poi Adapter类 * Created by lezg on 2014/8/14. */public class ListViewPoiAdapter extends ArrayListAdapter<MKPoiInfo> {    private AppContext appContext;    static class ListItemView {        public TextView name;        public TextView address;        public TextView distance;    }    public ListViewPoiAdapter(Context context, ArrayList<MKPoiInfo> datas) {        super(context, datas);        this.appContext = AppContext.getInstance();    }    @Override    public View getView(int position, View convertView, ViewGroup viewGroup) {        ListItemView listItemView;        if (convertView == null) {            convertView = LayoutInflater.from(mContext).inflate(R.layout.pois_info, null);            listItemView = new ListItemView();            listItemView.name = (TextView) convertView.findViewById(R.id.name);            listItemView.address = (TextView) convertView.findViewById(R.id.addr);            listItemView.distance = (TextView) convertView.findViewById(R.id.distance);            convertView.setTag(listItemView);//设置控件集到convertView        } else {            listItemView = (ListItemView) convertView.getTag();        }        MKPoiInfo info = listItems.get(position);        listItemView.name.setText(StringUtils.numberToString(position) + info.name);        listItemView.address.setText("地址:" + info.address);        GeoPoint geoPoint = new GeoPoint(info.pt.getLatitudeE6(),                info.pt.getLongitudeE6());        double poiDistance = DistanceUtil.getDistance(appContext.locGeoPoint,                geoPoint);        String dist = StringUtils.formatDistance(poiDistance);        listItemView.distance.setText(dist);        return convertView;    }}


更多相关文章

  1. Android(安卓)TextView 丰富多彩的字体样式代码
  2. Android(安卓)弹框没有背景色及背景边框设置
  3. 状态栏获取信息
  4. Java - Android(安卓)自定义控件之圆形进度条
  5. Android画一个随意拖动的圆形
  6. android 自带的日期控件 DatePicker
  7. 安卓自定义简单loading
  8. 自定义View组合模式
  9. java.lang.NoClassDefFoundError: com.jayway.android.robotium.

随机推荐

  1. 视频 | 阿里文娱智能营销增益模型(uplift
  2. 机器学习在微博 O 系列广告中的应用
  3. 2019 DataFunTalk 广告技术应用文章合集
  4. 深夜更新 - 一文读懂MQ消息队列
  5. 外行人眼里程序员是一个怎样的群体?
  6. 阿里淘外商业化广告工程架构实践
  7. 是德科技:高速数字化仪上自定义信号实时处
  8. Pentek科技推出新一代长波段射频调谐器—
  9. PFP公司推出基于功耗检测的系统安全解决
  10. Innovative Integration公司推出工业级数