多条目适配器
public class MybaseAdapter extends BaseAdapter {
Context context;
User.ResultBean beans;
LayoutInflater mInflater;
final int TYPE0 = 0;
final int TYPE1 = 1;
public MybaseAdapter(Context context, User.ResultBean beans){
this.context=context;
this.beans=beans;
mInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return beans.getData().size();
}
@Override
public Object getItem(int position) {
return beans.getData().get(position);
}
@Override
public long getItemId(int position) {
return position;
}
//获取条目类型
@Override
public int getItemViewType(int position) {
switch (position){
case 0:
return TYPE0;
case 1:
return TYPE1;
default:
}
return position%2;
}
//条目类型数量
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
int type = getItemViewType(position);
holder= new MybaseAdapter.ViewHolder();
if (convertView == null) {
switch (type){
case TYPE0:
convertView=View.inflate(context,R.layout.item_listview,null);
holder.leftimageView = convertView.findViewById(R.id.lf_imageView);
holder.lefttv1 = convertView.findViewById(R.id.lf_textView1);
holder.lefttv2 = convertView.findViewById(R.id.lf_textView2);
convertView.setTag(holder);
break;
case TYPE1:
convertView=View.inflate(context,R.layout.item_listviewr,null);
holder.rightimageView = convertView.findViewById(R.id.rt_imageView);
holder.rttv1 = convertView.findViewById(R.id.rt_textView);
holder.rttv2 = convertView.findViewById(R.id.rt_textView4);
convertView.setTag(holder);
break;
}
} else { //else里面说明,convertView已经被复用了,说明convertView中已经设置过tag了,即holder
holder = (ViewHolder) convertView.getTag();
}
switch (type){
case 0:
ImageLoader.getInstance().displayImage(beans.getData().get(position).getThumbnail_pic_s(),holder.leftimageView);
holder.lefttv1.setText(beans.getData().get(position).getTitle());
holder.lefttv2.setText(beans.getData().get(position).getDate());
return convertView;
case 1:
holder.rttv1.setText(beans.getData().get(position).getTitle());
holder.rttv2.setText(beans.getData().get(position).getDate());;
return convertView;
default:
}
return convertView;
}
private class ViewHolder {
TextView lefttv1,lefttv2,textView3,rttv1,rttv2;
ImageView leftimageView,rightimageView;
}
}