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返回值  猜测是用来判断两个条目的头是否相同,相同时第二个就不会添加,这时将实现将一个简单的悬浮了

时间: 2024-10-08 10:44:26

stickyListHeaders框架的使用的相关文章

Android开发使用的常见第三方框架汇总

本文转载:http://blog.csdn.net/liuhaomatou/article/details/44857005 1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1)  JSON,图像等的异步下载: (2)  网络请求的排序(scheduling) (3)  网络请求的优先级处理 (4)  缓存 (5)  多级别取消请求 (6)  和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)

【转】android开源项目和框架

特效: http://www.androidviews.net/ http://www.theultimateandroidlibrary.com/ 常用效果: 1. https://github.com/novoda/ImageLoader  异步加载图片,缓存,生成缩略图, 基本上每个应用都会需要这个lib.    android-query框架2. https://github.com/chrisbanes/Android-PullToRefresh   类似新浪微博,twitter,下拉

android开源项目和框架 .

特效: http://www.androidviews.net/ http://www.theultimateandroidlibrary.com/ 常用效果: 1. https://github.com/novoda/ImageLoader  异步加载图片,缓存,生成缩略图, 基本上每个应用都会需要这个lib.    android-query框架2. https://github.com/chrisbanes/Android-PullToRefresh   类似新浪微博,twitter,下拉

2015最流行的Android组件、工具、框架大全(转)

转自:2015最流行的Android组件.工具.框架大全 Android 是目前最流行的移动操作系统之一. 随着新版本的不断发布, Android的功能也日益强大, 涌现了很多流行的应用程序, 也催生了一大批的优秀的组件.本文试图将目前流行的组件收集起来以供参考, 如果你发现本文还没有列出的组件,欢迎在评论中贴出来,我会定期的更新本文. 部分图片需国内或许不能访问才能显示 很好的中文教程Google Android官方培训课程中文版 awesome-android, android列表. 另,g

打造android万能上拉下拉刷新框架——XRefreshView (一)

一.写在开头的话 之所以写这个东西是因为项目中有用到,需要给stickylistheaders加个刷新,其实就是个framelayout里面有个listview的自定义view布局,但是一些知名的刷新框架我试了下都不支持,pulltoRefresh和XListView都是自己实现了一个可刷新的view,然后让我们来直接使用这个可刷新的view,从而达到可以上拉下拉刷新的目的.我这个需求需要的是一个我告诉他什么时候需要刷新他就能帮我刷新的框架,也就是说不管什么view,只要能告诉框架自己什么时候需

收藏的Android非常好用的组件或者框架。

android框架 先说两个网站: http://www.androidviews.net/ 很好的国外开源代码站,就是访问速度有点慢啊 http://www.23code.com  挺不错的国人开源代码库,几乎每天都有更新(推荐) http://www.theultimateandroidlibrary.com/  以前可以访问的,好像现在不行了 1. ImageLoader   异步加载图片,缓存,生成缩略图, 基本上每个应用都会需要这个lib. 2. Android-PullToRefre

android开源项目和框架(转)

特效: http://www.androidviews.net/ http://www.theultimateandroidlibrary.com/ 常用效果: 1. https://github.com/novoda/ImageLoader  异步加载图片,缓存,生成缩略图, 基本上每个应用都会需要这个lib.    android-query框架2. https://github.com/chrisbanes/Android-PullToRefresh   类似新浪微博,twitter,下拉

收藏的Android很好用的组件或者框架。

android框架 先说两个站点: http://www.androidviews.net/ 非常好的国外开源码站,就是訪问速度有点慢啊 http://www.23code.com  挺不错的国人开源码库,差点儿每天都有更新(推荐) http://www.theultimateandroidlibrary.com/  曾经能够訪问的,好像如今不行了 1. ImageLoader   异步载入图片,缓存,生成缩略图, 基本上每一个应用都会须要这个lib. 2. Android-PullToRefr

Android组件及UI框架大全

Android 是目前最流行的移动操作系统(还需要加之一吗?). 随着新版本的不断发布, Android的功能也日益强大, 涌现了很多流行的应用程序, 也催生了一大批的优秀的组件. 本文试图将目前流行的组件收集起来以供参考, 如果你发现本文还没有列出的组件,欢迎在评论中贴出来,我会定期的更新本文. 很好的中文教程 Google Android官方培训课程中文版 awesome-android, android列表. 另,github上的一个项目, 收集了好多的Android开源项目. andro