OnPageScrolled () не вызывается

Я пытаюсь ознакомиться с ViewPager. Мой код приведен ниже. Проблема в том, что методы onPageChangeListener не вызываются. В чем может быть проблема?

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); } } 

Я имею в виду, что я не получаю ничего напечатанного в Logcat при прокрутке моих страниц.

Ну, я решил проблему самостоятельно после пробной ошибки.

Поскольку я вводил указатель TitlePagerIndicator 'mIndicator', мне пришлось вызвать mIndicator.setOnPageChangeListener (это); А не mViewPager.setOnPageChangeListener (это);

Поток System.out не выводится на Logcat. Используйте класс Log а не Log.d("MyApp","message") .

Как вы написали свой код, я предполагаю, что вы используете ViewPager.OnPageChangeListener

+ Изменить

this.mViewPager.setOnPageChangeListener(mIndicator);

к

this.mViewPager.setOnPageChangeListener(this);

Я следовал советам выше, но не работал для меня. В моем случае я использовал: mIndicator.setCurrentItem(position);

Это может помочь кому-то!