getItemViewType为Listview,GridVie

2017-02-07  本文已影响0人  踏尘印沙

为listview的item设置不同的布局文件,步骤如下;

1、为不同的item写不同的布局文件,设置统一的bean类

2、继承BaseAdapter类,实现getItemViewType(int position)和getViewTypeCount() 方法,根据这两个方法,为item设置不同的标记,也就是不同的type

/**

* 根据数据源的position返回需要显示的的layout的type

*

* type的值必须从0开始

*/

@Override

public intgetItemViewType(intposition) {

returnposition ==0?0:1;

}

3、在getView方法中,利用getItemViewType(position)方法获取当前的type类型,然后根据不同的type类型,加载不同的item布局文件。

intviewType = getItemViewType(position);

ViewTagHolder mViewTagHolder =null;

if(convertView ==null) {

if(viewType ==0) {

convertView =mInflater.inflate(R.layout.layout_hot_search,parent, false);

}else{

convertView =mInflater.inflate(R.layout.adapter_tag_item,parent, false);

mViewTagHolder =newViewTagHolder(convertView);

convertView.setTag(R.string.app_name,mViewTagHolder);

}

}else{

mViewTagHolder = (ViewTagHolder) convertView.getTag(R.string.app_name);

}

4、其他的一些listview的优化同一般的listview没有很大区别。

上一篇下一篇

猜你喜欢

热点阅读