OnPageScrolled () no se llama

Estoy tratando de familiarizarme con ViewPager. Mi código se da a continuación. El problema es que los métodos onPageChangeListener no se están llamando. ¿Cual puede ser el problema?

public class TabsViewPagerFragmentActivity extends SherlockFragmentActivity implements ViewPager.OnPageChangeListener { private ViewPager mViewPager; private PagerAdapter mPagerAdapter; private PageIndicator mIndicator; private static final String[] CONTENT = new String[] { "Home", "Popular", "Chat", "Profile"}; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActionBar bar = getSupportActionBar(); View customview = LayoutInflater.from(this).inflate(R.layout.actionbar_custom_layout, null); ImageView im = (ImageView)customview.findViewById(R.id.add); /*im.getLayoutParams().height = h; im.getLayoutParams().width = h;*/ bar.setCustomView(customview); bar.setDisplayShowCustomEnabled(true); bar.setDisplayShowTitleEnabled(false); bar.setDisplayShowHomeEnabled(false); // Inflate the layout setContentView(R.layout.tabs_viewpager_layout); // Intialise ViewPager this.intialiseViewPager(); mIndicator = (TitlePageIndicator)findViewById(R.id.titles); mIndicator.setViewPager(mViewPager); TitlePageIndicator indicator = (TitlePageIndicator)findViewById(R.id.titles); indicator.setTextColor(0xAAfb891e); indicator.setSelectedColor(0xFFfb891e); } @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add("Search") .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); return true; } public int getCount() { return CONTENT.length; } protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); } private void intialiseViewPager() { this.mPagerAdapter = new PagerAdapter(super.getSupportFragmentManager(), fragments); this.mViewPager = (ViewPager)super.findViewById(R.id.viewpager); this.mViewPager.setAdapter(this.mPagerAdapter); this.mViewPager.setOnPageChangeListener(this); } public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { // TODO Auto-generated method stub System.out.println(positionOffsetPixels); } public void onPageSelected(int position) { // TODO Auto-generated method stub System.out.println(position); } public void onPageScrollStateChanged(int state) { // TODO Auto-generated method stub System.out.println(state); } } 

Lo que quiero decir es que no tengo nada impreso en el Logcat en el desplazamiento de mis páginas.

Bueno, he resuelto el problema yo mismo después de algún error de prueba.

Desde que presentaba un TitlePagerIndicator 'mIndicator', tuve que llamar a mIndicator.setOnPageChangeListener (this); Y no mViewPager.setOnPageChangeListener (este);

La secuencia System.out no se imprime en Logcat. Utilice la clase Log como Log.d("MyApp","message") .

La forma en que ha escrito su código supongo que está implementando ViewPager.OnPageChangeListener

Cambio

this.mViewPager.setOnPageChangeListener(mIndicator);

A

this.mViewPager.setOnPageChangeListener(this);

He seguido los consejos chicos de arriba, pero no funcionó para mí. En mi caso, he utilizado: mIndicator.setCurrentItem(position);

Esto puede ayudar a alguien!

  • FragmentStatePageAdapter duplica elementos del menú ActionBar
  • Actualización de fragmentos / vistas en viewpager con fragmentStatePagerAdapter
  • OnPrepareOptionsMenu no se llama
  • InfiniteViewPager se congela en el método setCurrentItem ()
  • Obtención del error "La actividad Java.lang.IllegalStateException se ha destruido" al utilizar pestañas con ViewPager
  • Diferencia entre FragmentPagerAdapter y FragmentStatePagerAdapter
  • Android ViewPager cambia automáticamente la página
  • Android - Backstack al reemplazar el fragmento en ViewPager
  • ¿Cómo restablecer contenido de viewpager en Android?
  • ViewPager dentro de ListView
  • Uso de la animación en un ViewPager y setFillAfter
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.