El evento ViewPager onPageScrolled no se llama
El código siguiente se desplaza las 4 páginas muy bien. Mi problema es que el evento onPageScrolled
no se activa cuando se onPageScrolled
las páginas. Esto ocurre si utilizo o no el myPager.SetOffsccreenPageLimit(4)
. Después de leer los documentos, entiendo que cuando tengo implements ViewPager.OnPageChangeListener
incluido en la clase MyPagerAdapter
que el evento debe ser activado. ¿Qué estoy haciendo mal?
Gracias, Gary Blakely
- El selector de pestañas no funciona en la pestaña anterior haga clic al deslizarlo en viewpager
- Reemplazar fragmento con otro fragmento dentro de ViewPager
- Uso de la animación en un ViewPager y setFillAfter
- Vista de calendario personalizado en Android
- Comunicación de Android entre la actividad y el fragmento
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); MyPagerAdapter adapter = new MyPagerAdapter(); ViewPager myPager = (ViewPager) findViewById(R.id.mysevenpanelpager); myPager.setAdapter(adapter); myPager.setCurrentItem(0); myPager.setOffscreenPageLimit(4); } private class MyPagerAdapter extends PagerAdapter implements ViewPager.OnPageChangeListener { public int getCount() { return 4; } public Object instantiateItem(View collection, int position) { LayoutInflater inflater = (LayoutInflater) collection.getContext() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); int resId = 0; switch (position) { case 0: resId = R.layout.left; break; case 1: resId = R.layout.gps; break; case 2: resId = R.layout.map; break; case 3: resId = R.layout.right; break; } View view = inflater.inflate(resId, null); ((ViewPager) collection).addView(view, 0); return view; } @Override public void destroyItem(View arg0, int arg1, Object arg2) { ((ViewPager) arg0).removeView((View) arg2); } @Override public void onPageScrollStateChanged(int arg0) { int myint = 9; myint = myint * 2; } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { int myint = 9; myint = myint * 2; } @Override public void onPageSelected(int arg0) { int myint = 9; myint = myint * 2; } }
- ¿Cómo ir a otras pestañas haciendo clic en un botón de la pestaña actual en Android?
- Android: la pantalla del fragmento gira
- Android TabsAdapter con ActionbarSherlock
- IllegalArgumentException: el radio debe ser> 0
- Android ViewPager y TabLayout no funcionan rápido
- ¿Cómo puedo poner títulos en ViewPager usando fragmentos?
- Implementación del transformador de página de alejamiento de Android para un ViewFlipper
- Android ViewPager con RecyclerView funciona incorrectamente dentro de BottomSheet
También es necesario set
el listener mediante setOnPageChangeListener()
.
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); MyPagerAdapter adapter = new MyPagerAdapter(); ViewPager myPager = (ViewPager) findViewById(R.id.mysevenpanelpager); myPager.setAdapter(adapter); myPager.setCurrentItem(0); myPager.setOffscreenPageLimit(4); myPager.setOnPageChangeListener(adapter); // This line here }
Creo que también debe registrar su instancia de adaptador como un oyente para esos tipos de eventos también usando .setOnPageChangeListener () en ViewPager.
- Android: seguimiento del movimiento del puntero del ratón
- Necesidad de enviar múltiples solicitudes de volley – en una secuencia