关于实现无限循环的做法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于实现无限循环的做法相关的知识,希望对你有一定的参考价值。

在我们的某些特定的业务需求中 ,有时需要对一定数量的图片进行无限循环的实现

例如Gallery ,ViewPager等显示图片的控件中

具体做法:(实际上是一种伪循环)

 

1.首先getcount()的方法中让它返回一个很大的值 

return Integer.MAX_VALUE;


 2. 然后这个时候 我们滑动的position就会可能很大 而总的资源数是一定的
  所以 实际的realPosition应该是position对总资源数的求余 即realPosition = position % images.size();
  这样子就能保证真正的位置都是总资源里面的数值。

 3. 当我们需要一开始的时候就可以往左滑 则可以把一开始的位置设置在中间位置即可
  例如,Viewpager.setCurrentPosition(Integer.MAX_VALUE/2-Integer.MAX_VALUE/2%images.size());(当然 这里也可以显示的给它一个固定值)

 

                                -----爱生活,爱android.

以上是关于关于实现无限循环的做法的主要内容,如果未能解决你的问题,请参考以下文章

android-自定义广告轮播Banner(无限循环实现)

使用 async/await 进行续集查询的无限循环

盖茨比:上下文更新导致无限渲染循环

用贪吃蛇小游戏的思路手写一个无限循环滚动轮播图

关于useEffect中的无限循环

尝试使用 Swift 实现无限滚动时陷入无限循环