我要为RecyclerView定制一个滚动侦听器。我的期望是一个按钮"加载更多"用户滚动到列表末尾时将显示。
但是我在getChildCount onScrolled()方法时遇到了问题:
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
int totalItemCount = mLayoutManager.getItemCount();
int visibleItemCount = recyclerView.getChildCount();
Log.d(TAG, "onScrolled:visibleItemCount "+visibleItemCount);
if (loading && (totalItemCount > previousTotalItemCount)) {
loading = false;
previousTotalItemCount = totalItemCount;
}
if (!loading && (visibleItemCount + visibleThreshold) > totalItemCount) {
currentPage++;
onLoadMore(currentPage, totalItemCount);
loading = true;
}
}
在第一个日志中,visibleItemCount返回totalItemCount。例如:
onScrolled:visibleItemCount 20
onScrolled:visibleItemCount 4
等等....
注意:
20是总项目;
4是屏幕上可见的第4项