ViewPager2 如何实现双向无限滚动?



我在项目 https://github.com/IslamKhSh/CardSlider 中使用此库 我需要在两个方向上实现无限滚动。 我试图从stackoverflow中找到一些实现,但它们对我没有帮助。

我在两个应用程序中都尝试了 2 种解决方案冻结。

1 个解决方案:

override fun getItemCount(): Int = Integer.MAX_VALUE
override fun onBindViewHolder(holder: PrizeViewHolder, position: Int) {
if (items.size > 0)
holder.bind(items[position % items.size])
}

2 解决方案:

override fun getItemCount(): Int = if (items.isEmpty()) 0 else Integer.MAX_VALUE
override fun onBindViewHolder(holder: PrizeViewHolder, position: Int) {
holder.bind(items[position % items.size])
}

也许您知道一些替代库?

我是这样实现这个功能的。

val items = ArrayList<Level>()
override fun getItemCount(): Int = if (items.isEmpty()) 0 else Integer.MAX_VALUE
override fun onBindViewHolder(holder: CategoryViewHolder, position: Int) {
holder.bind(items[position % items.size])
}

最新更新