stickyListHeaders框架的使用
最近在Demo中使用到了stickyListHeaders框架实现悬停效果
比较好用
在xml中
<se.emilsjolander.stickylistheaders.StickyListHeadersListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white" />
和listView的配置方法差不多
在Activity中的使用
mAdapter = new MyStivkyAdapter(getActivity(), mGroupinfo);
lv.setAdapter(mAdapter);
我这是在fragment中使用的在actiity中使用才差不多
在适配器中的代码
public class MyStivkyAdapter extends BaseAdapter implements
StickyListHeadersAdapter {
private List<Group> groups;
private LayoutInflater mInflater;
private ViewHolder viewHolder;
HeaderViewHolder hvh;
public MyStivkyAdapter(Context context, List<Group> list) {
this.groups = list;
mInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return groups.size();
}
@Override
public Group getItem(int position) {
return groups.get(position);
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
viewHolder = new ViewHolder();
convertView = mInflater.inflate(R.layout.list_item, null);
viewHolder.ivComplete = (ImageView) convertView
.findViewById(R.id.item_image);
viewHolder.tvTitle = (TextView) convertView
.findViewById(R.id.item_text1);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.ivComplete.setImageResource(R.drawable.ic_fire);
viewHolder.tvTitle.setText(groups.get(position).brandName);
return convertView;
}
@Override
public View getHeaderView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
hvh = new HeaderViewHolder();
convertView = mInflater.inflate(R.layout.item_heander, null);
hvh.tvHeader = (TextView) convertView.findViewById(R.id.text);
convertView.setTag(hvh);
} else {
hvh = (HeaderViewHolder) convertView.getTag();
}
hvh.tvHeader.setText(groups.get(position).brandInitial);
return convertView;
}
@Override
public long getHeaderId(int position) {
return groups.get(position).brandInitial.charAt(0);
}
class ViewHolder {
ImageView ivComplete;
TextView tvTitle;
}
class HeaderViewHolder {
TextView tvHeader;
}
}
其他和ListView的适配器差不多就是实现来一个框架的接口 并重写了2个方法
在
getHeaderView ()方法中是返回添加的头的内容 如一般的排序 A----Z来实现排序这时如果对getHeaderId不处理会默认在每个条目上添加一个头,
在getHeaderId返回值 猜测是用来判断两个条目的头是否相同,相同时第二个就不会添加,这时将实现将一个简单的悬浮了
stickyListHeaders框架的使用的更多相关文章
- 2015最流行的Android组件、工具、框架大全
Android 是目前最流行的移动操作系统之一. 随着新版本的不断发布, Android的功能也日益强大, 涌现了很多流行的应用程序, 也催生了一大批的优秀的组件. 本文试图将目前流行的组件收集起来以 ...
- android开源项目和框架(转)
特效: http://www.androidviews.net/ http://www.theultimateandroidlibrary.com/ 常用效果: 1. https://github.c ...
- android开源项目和框架
特效: http://www.androidviews.net/ http://www.theultimateandroidlibrary.com/ 常用效果: 1. https://github.c ...
- 收藏的Android非常好用的组件或者框架。
博客分类: android android框架 先说两个网站: http://www.androidviews.net/ http://www.theultimateandroidlibrary.co ...
- 【转】android开源项目和框架
特效: http://www.androidviews.net/ http://www.theultimateandroidlibrary.com/ 常用效果: 1. https://github ...
- gitHub项目框架使用排名
项目名称 项目简介 使用心得 1. react-native 这 个是 Facebook 在 React ...
- android开源框架和开源项目(转)
特效: http://www.androidviews.net/ http://www.theultimateandroidlibrary.com/ 常用效果: 1. https://github.c ...
- 收藏的Android很好用的组件或者框架。
收藏的Android很好用的组件或者框架. android框架 先说两个站点: http://www.androidviews.net/ 非常好的国外开源码站,就是訪问速度有点慢啊 http://w ...
- Android开发中用到的第三方框架汇总
最近上网搜索了一些框架资料,整理了以下常用框架,希望在项目中有所帮助. 1.网络请求框架 android-async-http 该网络框架的介绍文章地址:http://www.cnblogs.com/ ...
随机推荐
- 流形(Manifold)初步【转】
转载自:http://blog.csdn.net/wangxiaojun911/article/details/17076465 欧几里得几何学(Euclidean Geometry) 两千三百年前, ...
- c语言的数组指针与指针数组
1. 数组指针:指向数组的指针是数组指针 先看下面一段代码: #include <stdio.h> int main(void) { int m[10]; printf("m = ...
- windows 基础及基本软件测试环境搭建
- python【第十三篇】可以写一个堡垒机了
前景介绍 到目前为止,很多公司对堡垒机依然不太感冒,其实是没有充分认识到堡垒机在IT管理中的重要作用的,很多人觉得,堡垒机就是跳板机,其实这个认识是不全面的,跳板功能只是堡垒机所具备的功能属性中的其中 ...
- 一张图看懂DNS域名解析全过程
DNS域名解析是互联网上非常重要的一项服务,上网冲浪(还有人在用这个词吗?)伴随着大量DNS服务来支撑,而对于网站运营来说,DNS域名解析的稳定可靠,意味着更多用户的喜欢,更好的SEO效果和更大的访问 ...
- (Step1-500题)UVaOJ+算法竞赛入门经典+挑战编程+USACO
http://www.cnblogs.com/sxiszero/p/3618737.html 下面给出的题目共计560道,去掉重复的也有近500题,作为ACMer Training Step1,用1年 ...
- SSL交互和握手过程
SSL消息按如下顺序发送: 1.Client Hello 客户发送服务器信息,包括它所支持的密码组.密码组中有密码算法和钥匙大小: 2.Server Hello 服务器选择客户和服务器都支持的密 ...
- 日期相关---SimpleDateFormat的setLenient(true/false)-----自动计算日期
有时候我们需要判断用户的日期格式是否正确, 虽然绝大多数会在前台处理,但是也有需要从文件流读入的情况,如果日期不合格就需要抛异常,这时候就需要禁止SimpleDateFormat的自动计算功能. 这时 ...
- sqlserver 字符串处理函数解释
1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错.2.CHAR()将ASCII ...
- 横向技术分析C#、C++和Java优劣
转自横向技术分析C#.C++和Java优劣 C#诞生之日起,关于C#与Java之间的论战便此起彼伏,至今不辍.抛却Microsoft与Sun之间的恩怨与口角,客观地从技术上讲,C#与Java都是对传统 ...