ListView在android系统中是一个非常强大的控件,你在90%的android应用上都能看到它的身影。listview除了能够显示统一的样式之外,还可以在不同行显示不同的样式(不同的布局)。实现显示不同的布局其实很简单,我们要做的就是重写一个BaseAdapter。在我们自己的的Adapter里我们需要重写的方法如下:
public int getViewTypeCount() ,这个用来返回你的listview中总共有多少不同的布局文件。
public int getItemViewType(int position),根据不同的position显示不同的布局文件,即viewType。
public View getView(int position, View convertView, ViewGroup parent) 这个方法大家都很熟悉了,在这里inflate我们自己定义的xml布局文件,这里根据position来获取viewType,根据获取的viewType来inflate不同的xml布局文件。为了内存优化,在自定义的Adapter里我们一般都会使用缓存的 convertView,所以以上三个方法是我们必须重写的,不然会出现很多问题。当然,还有getItemId等一些方法也是需要我们进行重写的。
以上。