public class MyAdapter extends MyBaseAdapter {
public MyAdapter(List<Student> data) {
super(data);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//获取holder持有对象
ViewHolder holder = ViewHolder.getHolder(convertView,parent,position, R.layout.list_item);
//获取holder对象中所有的控件
TextView tvName = holder.getView(R.id.mTv1);
//对控件进行操作,实现相应的方法
TextView tvSex = holder.getView(R.id.mTv2);
tvName.setText(data.get(position).getName());
tvSex.setText(data.get(position).getSex());
//返回对应的布局
return holder.getConvertView();
}
}
public abstract class MyBaseAdapter extends BaseAdapter {
protected List<Student> data;
public MyBaseAdapter (List<Student> data){
this.data = data;
}
@Override
public int getCount() {
return data == null ? 0 : data.size();
}
@Override
public Object getItem(int position) {
return data.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//将相同的实现抽取到父类的这里,这里是固定的
ViewHolder holder = ViewHolder.getHolder(convertView,parent,position, R.layout.list_item);
//然后为子类提供一个具体实现的方法
setData(holder,data.get(position));
//这里也是相同的返回代码,也是固定的
return holder.getConvertView();
}
//将这个方法设为抽象的,让他的子类必须去实现
public abstract void setData(ViewHolder holder,T t);
}
public class MyAdapter extends MyBaseAdapter {
public MyAdapter(List<Student> data) {
super(data);
}
@Override
public void setData(ViewHolder holder, Student t) {
TextView tvName = holder.getView(R.id.mTv1);
tvName.setText(t.getName());
TextView tvSex = holder.getView(R.id.mTv2);
tvSex.setText(t.getSex());
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有