Reputation: 803
I use this library in my project https://github.com/IslamKhSh/CardSlider I need to implement infinite scroll in both direction. I tried to find some implemention from stackoverflow, but none of them helped to me.
I tried 2 solution in both my app freezed.
1 solution:
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 solution:
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])
}
Maybe you know some alternative libraries?
Upvotes: 0
Views: 1646
Reputation: 803
I implemented this feature like this.
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])
}
Upvotes: 1