登录 立即注册
安币:

安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户

基于RecyclerView的封装支持下拉刷新,上拉加载更多

[复制链接]
来自: MrlLee 分类: Android精品源码 上传时间: 2016-7-4 10:45:10

项目介绍:

基于RecyclerView的封装支持下拉刷新,上拉加载更多,添加header,添加footer
仿qq侧拉删除

给RecyclerView添加触摸事件监听
//添加触摸监听
   
[Java] 查看源文件 复制代码
 onTouchListener = new RecyclerTouchListener(this, recyclerView);[/size][/font][/backcolor][/color]    onTouchListener
            .setIndependentViews(R.id.rowButton)
            .setViewsToFade(R.id.rowButton)
            .setClickable(new RecyclerTouchListener.OnRowClickListener() {
                @Override
                public void onRowClicked(int position) {//item点击监听
                    Toast.makeText(mContext, "Row " + (position + 1) + " clicked!", Toast.LENGTH_SHORT).show();
                }

                @Override
                public void onIndependentViewClicked(int independentViewID, int position) {//button点击监听
                    Toast.makeText(getApplicationContext(), "Button in row " + (position + 1) + " clicked!", Toast.LENGTH_SHORT).show();
                }
            })
            .setSwipeOptionViews(R.id.start, R.id.thumb, R.id.favorite)
            .setSwipeable(R.id.rowFG, R.id.rowBG, new RecyclerTouchListener.OnSwipeOptionsClickListener() {
                @Override
                public void onSwipeOptionClicked(int viewID, int position) {//侧拉出现的三个按钮监听事件
                    String message = "";
                    if (viewID == R.id.start) {
                        message += "收 藏";
                    } else if (viewID == R.id.thumb) {
                        message += "点 赞";
                    } else if (viewID == R.id.favorite) {
                        message += "喜 欢";
                    }
                    message += " position-> " + (position + 1);
                    Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
                }
            });
    recyclerView.addOnItemTouchListener(onTouchListener);
//添加Header
//添加Header和Footer
1、BaseAdapter 基本组成
2、HeaderAdapter 添加Header
3、HeaderBottomAdapter 添加Header和Footer 当没有更多数据的时候 可以通过adapter.setHasMoreData(false);设置是否有更多数据
当需要隐藏Footer的时候 可以通过adapter.setHasFooter(false); 隐藏Footer
下拉刷新和SwipeRefreshLayout一样
加载更多,可以监听RecyclerView的滚动事件,通过实现ScrollListener即可
[Java] 查看源文件 复制代码
recyclerView.addOnScrollListener(scrollListener);
private ScrollListener scrollListener = new ScrollListener(mLayoutManager) {
    @Override
    public void onLoadMore() {
        loadMore();
        currentPage++;
        Toast.makeText(mContext, "加载更多" + currentPage, Toast.LENGTH_SHORT).show();
    }
};
加载成功后需要将加载更多开关打开 ScrollListener.setLoadMore(!ScrollListener.loadMore);
游客,如果您要查看本帖隐藏内容请回复

相关源码推荐:

我来说两句
*滑动验证:
所有评论(575)
神秘boy 2016-7-4 11:01:11
hh
回复
神秘boy 2016-7-4 11:01:31
虽不明,但觉厉!
回复
嘘丶~低调 2016-7-4 11:06:31
虽不明,但觉厉!
回复
嘘丶~低调 2016-7-4 11:08:51
正需要啊,感谢楼主无私分享!
回复
18380460383 2016-7-4 13:47:33
很给力,安卓巴士有你更精彩!
回复
18380460383 2016-7-4 13:48:36
强烈支持楼主ing……
回复
菜鸟y 2016-7-4 13:59:27
学习学习!
回复
5423 4 0
代码贡献英雄榜
用户名 下载数
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,769657487



联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 申请友链|手机版|站点统计|安卓巴士 ( 粤ICP备15117877号 )