RecyclerView滑动加载更多

前言:本文介绍无需第三方库,只是通过RecyclerView即可简单实现下拉刷新和上拉加载更多。

方案:

1、RecyclerView注册滑动监听addOnScrollListener(RecyclerView.OnScrollListener listener)

2、判断是否还能向上滑动,不能则进行加载下一页数据。canScrollVertically(int direction)

实现:

recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
        super.onScrolled(recyclerView, dx, dy);
        if (!recyclerView.canScrollVertically(1)) {
            if (mPageNo < mPageCount) { //总页数大于当前页数时才可请求下一页数据
                mPageNo += 1;
                requestData();
            }
        }
    }
});

注:

1、canScrollVertically(int direction),direction为负值则判断下拉,正值则判断上滑

2、RecyclerView第一个item为空布局(gone或高度为0)则下拉canScrollVertically(-1)始终为true,同理最后一个item为空上拉也始终为true。可以通过给item根布局设置android:minHeight="1px"即可

猜你喜欢

转载自blog.csdn.net/yufumatou/article/details/112648453