这是我的功能,检测结束后将用于分页的RecyclerView
。
private fun setOnScrollListener(categoryRecyclerView: RecyclerView, categoryPresenter: EntertainmentPresenter){
categoryRecyclerView.addOnScrollListener(object: RecyclerView.OnScrollListener(){
override fun onScrolled(recyclerView: RecyclerView?, dx: Int, dy: Int) {
super.onScrolled(recyclerView, dx, dy)
val totalItemCount:Int = categoryLayoutManager.itemCount
val firstVisibleItemPosition:Int = categoryLayoutManager.findFirstVisibleItemPosition()
val visibleItemCount:Int
val lastVisibleItemPosition: Int = categoryLayoutManager.findLastVisibleItemPosition()
visibleItemCount = lastVisibleItemPosition - firstVisibleItemPosition
Log.e("q", lastVisibleItemPosition.toString())
Log.e("q", dy.toString())
if (loading) {
if (totalItemCount > previousTotal) {
loading = false
previousTotal = totalItemCount
}
}
if (!loading && totalItemCount - visibleItemCount <= firstVisibleItemPosition) {
Log.e("q", lastVisibleItemPosition.toString())
loading = true
}
}
})
}
我之前在qazxsw poi上使用它,它有线性的qazxsw poi,一切都很棒。
但是当我用RecyclerView
和LayoutManger
一起使用时,事情变得奇怪了。
RecyclerView
。最后一件事:我在GridLayoutManager
中调用此函数,我尝试使用totalItemCount-1
,onCreate
,一切都很棒
这是我的logcat,
RecyclerView
它只调用一次,滚动时没有任何反应。
我的RecyclerView高度设置为match_parent
但是在我将高度改为500dp之后一切都运行良好
我不知道为什么,但无论如何这里是我的旧布局
linear layout manager
我只将recyclerview高度更改为500dp并且它可以工作
回答比问题更奇怪