ListView显示多个的布局

来源:互联网 发布:数据有效性怎么设置 编辑:程序博客网 时间:2024/06/05 17:33

listview加载不同的布局,其实很简单,加载一个布局的时候咱就不说了,下面来看一下加载不同的布局。。。


首先我们要重写两个方法。。

@Override
public int getViewTypeCount() {//三种布局类型  这个是判断有种类型的布局。。
// TODO Auto-generated method stub
return 3;
}

接下来   

/根据position判断layout的类型

@Override
public int getItemViewType(int position) {/

if(position==1||position==5||position==10||position==15){
return 1;
}
if(position==3||position==8||position==11||position==14){
return 2;
}
return 0;
}

然后getview()中

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
int type=getItemViewType(position);
if(convertView==null){
holder=new ViewHolder();

//在这里判断一下就ok了
if(type==1){      
convertView=inflater.inflate(R.layout.item1, null);
holder.tv=(TextView) convertView.findViewById(R.id.tv1);
}else if(type==2){
convertView=inflater.inflate(R.layout.item2, null);
holder.tv=(TextView) convertView.findViewById(R.id.tv2);
}else {
convertView=inflater.inflate(R.layout.item3, null);
holder.tv=(TextView) convertView.findViewById(R.id.tv3);
}
convertView.setTag(holder);
}else{
holder=(ViewHolder) convertView.getTag();
}

return convertView;
}



到此结束。。。。

0 0
原创粉丝点击