块引用
我正在尝试实现自动滚动无限 recyclerview,就像 hotstar 在 hotstar VIP 订阅页面中拥有它一样。
我试过给定的代码。
对于自动滚动回收器:-
binding.rvPartyOfWeek.addOnScrollListener(CustomScrollListener())
private val SCROLLING_RUNNABLE = object : Runnable {
override fun run() {
val duration = 10
val pixelsToMove = 22
if (!isPartyOfWeekScrolling) {
binding.rvPartyOfWeek.smoothScrollBy(pixelsToMove, 0)
}
mHandler.postDelayed(this, duration.toLong())
}
}
对于无限滚动:-
binding.rvPartyOfWeek.addOnScrollListener(object : RecyclerView.OnScrollListener() {
override fun onScrolled(recyclerView2: RecyclerView, dx: Int, dy: Int) {
super.onScrolled(recyclerView2, dx, dy)
val totalItemCount = layoutManagerparty.itemCount
val lastVisibleItem = layoutManagerparty.findLastVisibleItemPosition()
if (totalItemCount <= (lastVisibleItem + 3)) {
if (totalItemCount > 22) {
for (i in 0..10) {
listParty.removeAt(0)
}
}
listParty.addAll(listPartySingle)
adapterpartyofweek.notifyDataSetChanged()
Log.i("Helllo listParty", listParty.size.toString())
}
}
})
它在某些设备上滚动不流畅,在某些旧设备上崩溃。
繁星coding
相关分类