Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

onPageScrolled() not being called

Tags:

I'm trying to get familiar with ViewPager. My code is given below. The problem is that the onPageChangeListener methods are not being called. What can be the problem?

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

What I mean is that I dont get anything printed in the Logcat on scrolling my pages.

like image 254
ProgrAmmar Avatar asked Jun 16 '12 15:06

ProgrAmmar


1 Answers

Well I solved the problem myself after some trial error.

Since I was introducing a TitlePagerIndicator 'mIndicator', I had to call mIndicator.setOnPageChangeListener(this); and not mViewPager.setOnPageChangeListener(this);

like image 100
ProgrAmmar Avatar answered Sep 21 '22 10:09

ProgrAmmar