RecyclerView - 在用户开始滚动之前,用什么方式获取屏幕上可见的项目数量?

时间:2018-05-06 15:41:43

标签: android android-recyclerview

我的一个活动包含RecyclerView。 在启动活动时,我想知道在用户进行任何滚动之前onBindViewHolder()会运行多少次。使用日志记录,我检查它运行的次数几乎与屏幕上可见的项目数一样多。所以基本上我想知道屏幕上可以看到多少项目。

getItemCount()给出了项目总数。这不是我想要的。

是否有其他方法或方法只能获得可见项目的数量?

我查了这篇文章,但这对我的案例没有帮助 - Get visible items in RecyclerView

1 个答案:

答案 0 :(得分:0)

要获得RecyclerView可见计数,您可以使用layoutManager.getChildCount()。 但你必须这样使用:

layoutManager.postOnAnimation(new Runnable() {
            @Override
            public void run() {
                System.out.println("Visible count " + layoutManager.getChildCount());
            }
        });