如何知道RecyclerView是否有足够的内容滚动?

时间:2015-07-14 13:28:11

标签: java android android-layout android-recyclerview

目前我正在使用带有LinearLayout Manager的RecyclerView和作为HeaderView的EditText来过滤列表内容。

如果RecyclerView的内容小于RecyclerView本身,我想隐藏EditText。

如果其内容可以滚动,有没有办法“询问”Recyclerview或LayoutManager?

谢谢大家。

3 个答案:

答案 0 :(得分:4)

当最后位置的项目完全可见时,

RecyclerView无法滚动。

在听起来如下的情况下:

mRecyclerView.getLayoutManager().findLastCompletelyVisibleItemPosition() == mRecyclerViewAdapter.getItemCount() - 1;

答案 1 :(得分:1)

一个答案,它也说明了动态屏幕尺寸。

mRecyclerView.getViewTreeObserver().addOnScrollChangedListener(() -> {

    if (mRecyclerView.canScrollVertically(1) && //still scrolling
        mRecyclerView.computeVerticalScrollRange() >= mRecyclerView.getHeight()) { //Big enough for scrolling

        return;  //we still scrolling so early out.
        }

    DoMyFunction();
}

答案 2 :(得分:0)