viewpager studio fragments example android android-viewpager

fragments - view pager adapter android studio



viewpager setonpagechangelistener en desuso (5)

Hoy estoy tratando de configurar ViewPager.setOnPageChangeListener y descubrí que está en desuso.


Por si alguien necesita la solución en kotlin :

viewPager.addOnPageChangeListener (object: ViewPager.OnPageChangeListener { override fun onPageScrollStateChanged(state: Int) { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } override fun onPageSelected(position: Int) { TODO("not implemented") //To change body of created functions use File | Settings | File Templates. } })


Puede lograrlo a través de SimpleOnPageChangeListener A continuación se muestra el Código:

private Fragment page = null; /** Defining a listener for pageChange */ ViewPager.SimpleOnPageChangeListener pageChangeListener = new ViewPager.SimpleOnPageChangeListener(){ @Override public void onPageSelected(int position) { super.onPageSelected(position); page = getSupportFragmentManager().findFragmentByTag("android:switcher:" + R.id.pager_selectPhotos + ":" + position); System.out.println(page); switch (position) { case 0: break; case 1: break; default: break; } } }; /** Setting the pageChange listener to the viewPager */ _pager.setOnPageChangeListener(pageChangeListener);


Use ViewPager.addOnPageChangeListener en lugar de ViewPager.setOnPageChangeListener .


esto funcionó para mí:

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(){ @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { conterchange.setText(""+(1+position)); } @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { } });


ViewPager.setOnPageChangeListener está en desuso ahora. Necesita usar ViewPager.addOnPageChangeListener en ViewPager.addOnPageChangeListener lugar.

por ejemplo,

ViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { } });

Puedes encontrar esto Here.