(二) LtRecyclerView v2.x (更多实用方法)

(一) 超简单自定义上下刷新布局-LtRecyclerView v2.x版本(基本使用)

(二) LtRecyclerView v2.x (更多实用方法)

(三) LtRecyclerView v2.x (自定义刷新View)

1.设置上拉加载和下拉刷新和回调

        rv.setOnUpAndDownListener(new OnUpAndDownListener() {
                    @Override
                    public void up() {
                        //上拉加载时的回调
                    }

                    @Override
                    public void down() {
                        //下拉刷新时的回调
                    }
                });

        //禁用上拉加载:传一个什么都没有的View
        new LtAdapter(new View(this));
        //禁用下拉刷新:获取刷新View,并设置为不可用
        rv.getRefreshLayout().setEnabled(false);

2.设置条目点击事件和条目长按事件(在onLtBindViewHolder()方法中设置点击或长按事件优先级大于该方法)

        adapter.setOnRvItemClickListener(new OnRvItemClickListener() {
            @Override
            public void onItemClick(View itemView, int position) {
                //条目的点击事件
            }
        });
        adapter.setOnRvItemLongClickListener(new OnRvItemLongClickListener() {
            @Override
            public void onItemLongClick(View itemView, int position) {
                //条目的长按事件     
            }
        });

3.添加头布局和尾布局

        //添加头布局
        adapter.addHeadView(new View(this));
        //添加头布局到指定位置,注意可能会数组越界异常
        adapter.addHeadView(new View(this), 0);
        //移除头布局,根据引用地址
        adapter.removeHeadView(view);
        //移除头布局,根据索引,注意可能会数组越界异常
        adapter.removeHeadView(0);
        //获取头布局的数量
        int headSize = adapter.getHeadListSize();
        
        //添加尾布局(添加到最下面)
        adapter.addTailView(new View(this));
        //添加尾布局到指定位置,注意可能会数组越界异常
        adapter.addTailView(new View(this), 0);
        //移除尾布局,根据引用地址
        adapter.removeTailView(view);
        //移除尾布局,根据索引,注意可能会数组越界异常
        adapter.removeTailView(0);
        //获取尾布局的数量
        int size = adapter.getTailListSize();

4.添加没条目时展示的View(或者添加没条目和有条目时的回调事件)

        //设置没数据时展示的TextView
        rv.setNoItemText("暂无数据");
        //设置没数据时展示的View
        rv.setNoItemView(new View(this));
        
        //没有条目时的回调
        adapter.addOnNoItemListener(new OnNoItemListener() {
            @Override
            public void noItem() {
                //从有数据变为没有数据时触发
            }

            @Override
            public void haveItem() {
                //从没有数据变为有数据是触发
            }
        });
            app:noItemText="暂无数据"//设置没有数据时展示的TextView
            app:noItemView="@drawable/ic_launcher"//设置没数据时展示的View

注意:app:noItemText和noItemView两个方法不能同时设置

5.添加分割线(也可以用图片)

        //添加2px,d5d5d5的分割线
        rv.addItemDecoration_line();
        //添加d5d5d5颜色的分割线,并指定高度
        rv.addItemDecoration_line(1);
        //添加分割线,指定高度和颜色
        rv.addItemDecoration_line(1, getResources().getColor(R.color.colorAccent));
        //添加图片分割线
        rv.addItemDecoration_drawable(R.mipmap.ic_launcher);
        //设置分割线高度,可以和颜色一起设置
        app:dividerHeight="1dp"
        //设置分割线颜色
        app:dividerColor="@color/colorAccent"
        //设置图片分割线
        app:dividerDrawable="@mipmap/ic_launcher"

点击查看(三)自定义刷新View

猜你喜欢

转载自blog.csdn.net/qq_33505109/article/details/80677331
今日推荐