TikTak
TikTak

Reputation: 803

ViewPager2 How to implement infinite scroll in both direction?

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

Answers (1)

TikTak
TikTak

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

Related Questions