/**自定义适配器*/
public class SchoolAdapter extends BaseAdapter{
private Context context;
private int resource;
private List<School> list;
//仿照arrayAdapter的构造方法
public SchoolAdapter(Context context,int resource,List<School> list) {
this.context=context;
this.resource=resource;
this.list=list;
}
/**用于返回数据集中数据的个数*/
@Override
public int getCount() {
return list.size();
}
/**一般返回为当前位置的item对应的数据*/
@Override
public Object getItem(int position) {
return list.get(position);//News
}
//?????
@Override
public long getItemId(int position) {
return position;
}
/**构建adapter layout要显示的item(包饺子)
* 每显示一个item都会调用一次此方法*/
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Log.i("TAG", "convertView="+convertView);
//1.item layout对象(准备饺子皮对象)
//1)借助context找到resource id对应的xml资源
//2)借助xmlpullparser解析xml资源
//3)借助反射构建xml元素对象
//4)inflate方法的返回值为resource资源对应的根元素对象
View v=null;
ViewHolder vh=null;
if(convertView==null){//convertView (可重用的列表项对象)
v=View.inflate(context,resource,null);
vh=new ViewHolder();
vh.logo=(ImageView) v.findViewById(R.id.logo);
vh.titleTv=(TextView) v.findViewById(R.id.titleId);
vh.dateTv=(TextView) v.findViewById(R.id.dateId);
v.setTag(vh);//关联viewholder
}else{
v=convertView;
vh=(ViewHolder)convertView.getTag();
}
//2.item data (饺子馅)
School news=list.get(position);
//3.set item data to item layout(将饺子馅放到饺子皮上包起来)
vh.logo.setImageResource(news.getLogo());
vh.titleTv.setText(news.getName());
vh.dateTv.setText(news.getContent());
return v;//包好的饺子
}
/**每个item view对应一个viewHolder*/
class ViewHolder{
ImageView logo;
TextView titleTv;
TextView dateTv;
}
}
public class SchoolAdapter extends BaseAdapter{
private Context context;
private int resource;
private List<School> list;
//仿照arrayAdapter的构造方法
public SchoolAdapter(Context context,int resource,List<School> list) {
this.context=context;
this.resource=resource;
this.list=list;
}
/**用于返回数据集中数据的个数*/
@Override
public int getCount() {
return list.size();
}
/**一般返回为当前位置的item对应的数据*/
@Override
public Object getItem(int position) {
return list.get(position);//News
}
//?????
@Override
public long getItemId(int position) {
return position;
}
/**构建adapter layout要显示的item(包饺子)
* 每显示一个item都会调用一次此方法*/
@Override
public View getView(int position, View convertView, ViewGroup parent) {
Log.i("TAG", "convertView="+convertView);
//1.item layout对象(准备饺子皮对象)
//1)借助context找到resource id对应的xml资源
//2)借助xmlpullparser解析xml资源
//3)借助反射构建xml元素对象
//4)inflate方法的返回值为resource资源对应的根元素对象
View v=null;
ViewHolder vh=null;
if(convertView==null){//convertView (可重用的列表项对象)
v=View.inflate(context,resource,null);
vh=new ViewHolder();
vh.logo=(ImageView) v.findViewById(R.id.logo);
vh.titleTv=(TextView) v.findViewById(R.id.titleId);
vh.dateTv=(TextView) v.findViewById(R.id.dateId);
v.setTag(vh);//关联viewholder
}else{
v=convertView;
vh=(ViewHolder)convertView.getTag();
}
//2.item data (饺子馅)
School news=list.get(position);
//3.set item data to item layout(将饺子馅放到饺子皮上包起来)
vh.logo.setImageResource(news.getLogo());
vh.titleTv.setText(news.getName());
vh.dateTv.setText(news.getContent());
return v;//包好的饺子
}
/**每个item view对应一个viewHolder*/
class ViewHolder{
ImageView logo;
TextView titleTv;
TextView dateTv;
}
}