关于多条目布局新加两个方法总条目类型总数和返回条目类型
——–listview适配器———
class MyAdapter extends BaseAdapter{
final int TYTLE_ONLY = 0;//只有文字的形式
final int IMAGE_LEFT = 1;//表示图片在左边,文字在右边
final int IMAGE_RIGHT = 2;//表示图片在右边,文字在左边
final int IMAGE_BOTTOM = 3;//表示文字在上边,图片在下面
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getViewTypeCount() {
return 4;
}
@Override
public int getItemViewType(int position) {
if (position%4==0){
return TYTLE_ONLY;
}else if (position%4==1){
return IMAGE_LEFT;
}else if (position%4==2){
return IMAGE_RIGHT;
}else if (position%4==3){
return IMAGE_BOTTOM;
}else{
return IMAGE_BOTTOM;
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//首先要根据position得到要显示的类型
int type=getItemViewType(position);
switch (type){
case TYTLE_ONLY:
ViewHolder1 vh1;
if(convertView==null){
convertView=View.inflate(MainActivity.this,R.layout.one,null);
vh1 = new ViewHolder1();
vh1.little=(TextView) convertView.findViewById(R.id.little);
convertView.setTag(vh1);
}else{
vh1=(ViewHolder1) convertView.getTag();
}
vh1.little.setText(list.get(position).getTitle());
return convertView;
case IMAGE_LEFT:
ViewHolder2 vh2;
if(convertView==null){
convertView=View.inflate(MainActivity.this,R.layout.two,null);
vh2 = new ViewHolder2();
vh2.little=(TextView) convertView.findViewById(R.id.little);
vh2.img = (ImageView) convertView.findViewById(R.id.img);
convertView.setTag(vh2);
}else{
vh2=(ViewHolder2) convertView.getTag();
}
vh2.little.setText(list.get(position).getTitle());
//第三步:进行加载显示
//第三步:进行加载显示
ImageLoader.getInstance().displayImage(list.get(position).getFirstImg(),vh2.img,MyApp.getDefaultDisplayOption());
return convertView;
case IMAGE_RIGHT:
ViewHolder3 vh3;
if(convertView==null){
convertView=View.inflate(MainActivity.this,R.layout.three,null);
vh3 = new ViewHolder3();
vh3.little=(TextView) convertView.findViewById(R.id.little);
vh3.img = (ImageView) convertView.findViewById(R.id.img);
convertView.setTag(vh3);
}else{
vh3=(ViewHolder3) convertView.getTag();
}
vh3.little.setText(list.get(position).getTitle());
//第三步:进行加载显示
//第三步:进行加载显示
ImageLoader.getInstance().displayImage(list.get(position).getFirstImg(),vh3.img,MyApp.getDefaultDisplayOption());
return convertView;
case IMAGE_BOTTOM:
ViewHolder4 vh4;
if(convertView==null){
convertView=View.inflate(MainActivity.this,R.layout.four,null);
vh4 = new ViewHolder4();
vh4.little=(TextView) convertView.findViewById(R.id.little);
vh4.img = (ImageView) convertView.findViewById(R.id.img);
convertView.setTag(vh4);
}else{
vh4=(ViewHolder4) convertView.getTag();
}
vh4.little.setText(list.get(position).getTitle());
//第三步:进行加载显示
//第三步:进行加载显示
ImageLoader.getInstance().displayImage(list.get(position).getFirstImg(),vh4.img,MyApp.getDefaultDisplayOption());
return convertView;
}
return null;
}
class ViewHolder1{
TextView little;
}
class ViewHolder2{
ImageView img;
TextView little;
}
class ViewHolder3{
ImageView img;
TextView little;
}
class ViewHolder4{
ImageView img;
TextView little;
}
}