gridview分组
2015-12-30 12:15
344 查看
近段时间项目要求gridview分组
大概是这样的效果
然后在网上找到一个开源的项目,叫StickyGridHeadersGridView,超级好用,效果类似android自带的联系人
StickyGridHeadersGridView的adapter也是继承的BaseAdapter,不过要求实现StickyGridHeadersSimpleAdapter这个接口
然后这里面有几个新的方法,可能第一次用的同学比较生疏,这里来说明一下
@Override
public long getHeaderId(int position) {
/***
* 这里的status参数,是一个标志,只要传给它,他会根据这个参数来分组
* 比如说我的list中index范围0-6的status分别是{1,1,1,2,2,3,3}
* 然后它会分成三组,分别是1,2,3
* 这个分组类似数据库中的group by
*/
return list.get(position).getStatus();
}
大概是这样的效果
然后在网上找到一个开源的项目,叫StickyGridHeadersGridView,超级好用,效果类似android自带的联系人
StickyGridHeadersGridView的adapter也是继承的BaseAdapter,不过要求实现StickyGridHeadersSimpleAdapter这个接口
然后这里面有几个新的方法,可能第一次用的同学比较生疏,这里来说明一下
<span style="white-space:pre"> </span>/** * 这个方法是用来显示headView的,也就是效果图上的“已发放”、“未发放” */ @Override public View getHeaderView(int position, View view, ViewGroup parent) { HeadViewHolder holder; if(view==null){ holder=new HeadViewHolder(); view=inflater.inflate(R.layout.active_two_item_tag, parent,false); holder.tagName=(TextView) view.findViewById(R.id.tagName); view.setTag(holder); }else{ holder=(HeadViewHolder) view.getTag(); } CashPrizeMode mode=list.get(position); holder.tagName.setText(mode.getStatusName()); return view; }
@Override
public long getHeaderId(int position) {
/***
* 这里的status参数,是一个标志,只要传给它,他会根据这个参数来分组
* 比如说我的list中index范围0-6的status分别是{1,1,1,2,2,3,3}
* 然后它会分成三组,分别是1,2,3
* 这个分组类似数据库中的group by
*/
return list.get(position).getStatus();
}
相关文章推荐
- Spring学习(一)初了解
- 获得当前时间,刻度为一千分一秒
- Android:文件读写、操作模式、SDCard
- 解析AndroidManifest.xml
- 去除ActionBar的阴影效果以及设置ActionBar的高度
- Oracle 11g RAC添加一节点过程
- iOS轻扫手势(Swipe)
- Mac Error Create Android Project - “Errors running builder 'Android Resource Manager' on project”
- 使用VS2012调试ReactOS源码
- html5 录制mp3音频,支持采样率和比特率设置
- 亚马逊面试题目1
- java split用多个标点拆分
- codeigniter下使用pdo的两种方式
- Stack链表C实现
- java String 遍历字符串和统计思想
- MOS管之基础特性
- tomcat修改默认端口
- Android 知识图谱 (方便复习)
- iOS开发之duplicate symbols for architecture x86_64错误
- MONGODB 计算机服务