listview我们经常需要在listview中显示多种行布局,那多种行布局怎么复用优化呢..

其实很简单只是重写适配器的@Override
public int getViewTypeCount() {
return 2;
}

@Override
public int getItemViewType(int position) {
switch (position % 2) {
case 0:
return 0;
case 1:
return 1;
default:
break;
}
return super.getItemViewType(position);
}

这两个方法就可以...在getView的时候判断显示哪个行布局就可以了..

if (convertView == null)
{
if(position % 2 == 0)
{
layout = inflater.inflate(R.layout.listitem_left, null);
}
else
{
layout = inflater.inflate(R.layout.listitem_right, null);
}
}
else
{
layout = convertView;
}
return layout;


附件带上deom


附件:http://down.51cto.com/data/2364517