RecycleView 监听

recycle.addOnScrollListener(new RecyclerView.OnScrollListener() {
    @RequiresApi(api = Build.VERSION_CODES.ICE_CREAM_SANDWICH)
    @Override
    public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
        super.onScrollStateChanged(recyclerView, newState);
        if (newState == RecyclerView.SCROLL_STATE_IDLE && adapter != null && lastVisibleItem + 2 == adapter.getItemCount()) {
            presenter.loadMoreData();
        }
        if (newState == RecyclerView.SCROLL_STATE_IDLE && adapter != null) {
            Log.d(TAG, "onScrollStateChanged: " + lastVisibleItem + "--" + linearLayoutManager.findFirstCompletelyVisibleItemPosition() + "--" + linearLayoutManager.findFirstVisibleItemPosition());
            //无法向上滑动表示到达最顶
            if (!recyclerView.canScrollVertically(-1)) {
                CommonUtils.keyBoard(edit, "close");
            }
            /*else if (!recyclerView.canScrollVertically(1)) {
                onScrolledToBottom();
            }*/
        }
    }

    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
        super.onScrolled(recyclerView, dx, dy);
        // 当dy < 0; 表示向上滑动
        lastVisibleItem = linearLayoutManager.findLastVisibleItemPosition();
    }
});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容