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.
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With