Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

105
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda