[英]Android recyclerView.addOnScrollListener giving error
[英]Android - Is there a way to use recyclerview.addOnScrollListener as a function
此代碼用於帶有列表的頁面。 由於此代碼在所有頁面上都是多余的,因此我想將其捆綁在 function 中使用。 有辦法嗎??
recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener(){
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
super.onScrolled(recyclerView, dx, dy)
val lastVisibleItemPosition =
(recyclerView.layoutManager as LinearLayoutManager).findLastCompletelyVisibleItemPosition()
val itemTotalCount = recyclerView.adapter!!.itemCount-1
if (lastVisibleItemPosition == itemTotalCount && !recyclerView.canScrollVertically(1) && !lastPageCheck) {
// something
}
}
})
您可以使用Kotlin 擴展功能。 不過,您可能不得不考慮處理全局變量( lastPageCheck
)。
像這樣的東西
fun RecyclerView.onScrollChangeCustom(doSomething: () -> Unit) {
addOnScrollListener(object : RecyclerView.OnScrollListener() {
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
super.onScrolled(recyclerView, dx, dy)
val lastVisibleItemPosition =
(recyclerView.layoutManager as LinearLayoutManager).findLastCompletelyVisibleItemPosition()
val itemTotalCount = (recyclerView.adapter?.itemCount ?: 0) - 1
if (lastVisibleItemPosition == itemTotalCount && !recyclerView.canScrollVertically(1) && !lastPageCheck) {
doSomething()
}
}
})
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.