Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

99
Vistas
How to make a circular view pager2?

How can I make a circular view pager2(infinite-scrolling) in java? for example I wanna go from page 1to page 100 while swiping left and not to get stopped.

myViewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            super.onPageScrolled(position, positionOffset, positionOffsetPixels);
            Log.d(CPAct,"onPageScrolled "+position);
        }

        @Override
        public void onPageSelected(int position) {
            super.onPageSelected(position);
            Log.d(CPAct,"onPageSelected Position: "+position);
        }

        @Override
        public void onPageScrollStateChanged(int state) {
            super.onPageScrollStateChanged(state);
            Log.d(CPAct,"onPageScrollStateChanged  state: "+state);
          
            if (state == ViewPager2.SCROLL_STATE_IDLE) {
                if (myViewPager2.getCurrentItem() == 0)
                    myViewPager2.setCurrentItem(99, false);
                else if (myViewPager2.getCurrentItem() == 99) 
                    myViewPager2.setCurrentItem(0, false);
            }

I tried the code above in initView() after setting adapter but it doesn't work properly. for example when I swipe left from page 2, it directly goes to the last page and page 1 is skipped .The same thing happens when I swipe right to get to the last page and it directly goes to page 1. I just wanna make an infinite scrolling without skipping any pages.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

you should post Adapters code, in there you should return Integer.MAX_VALUE in getCount and introduce proper fetching model for drawing list item - e.g. if you have ArrayList data then use data.get(position % data.getItemCount()) in getItem (as array have fixed size, but you are informing adapter about veeery large/infinite number of items)

your current aproach isn't good, as you are manipulating Views positions, this for shure will add some visual glitches sooner or later, and also is not very efficient

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda