Saturday, January 26, 2013

[android-developers] Viewpager shows wrong pages

I have a viewpagerindicator by Jake Wharton and in that viewpager i have 6 pages.All of the pages contains listviews and i'm loading them with an AsyncTask.Sometimes viewpager shows wrong pages at wrong indexes.Here is my viewpager adapter:

    public class TestFragmentAdapter extends FragmentPagerAdapter{
        protected static final String[] CONTENT = new String[] { "a","b","c","d","e","f" };
        
        private int mCount = CONTENT.length;
        Fragment fragment1,fragment2,fragment3,fragment4,fragment5,fragment6;
        
        public TestFragmentAdapter(FragmentManager fm) {
            super(fm);
            fragment1 = new CategoryListView();
            fragment2 = CustomizedListviewRecent.newInstance(41);
            fragment3 = CustomizedListviewMostRecents.newInstance(0);
            fragment4 = CustomizedListviewPopulars.newInstance();
            fragment5 = CustomizedListviewRecent.newInstance(42);
            fragment6 = CustomizedListviewRecent.newInstance(43);
           
        }

        @Override
    public Fragment getItem(int position) {
    if(position == 0)
    return fragment1;
    else if(position == 1)
    return fragment2;
    else if(position == 2)
    return fragment3;
    else if(position == 3)
    return fragment4;
    else if(position == 4)
    return fragment5;
    else
    return fragment6;
    }
        @Override
        public int getCount() {
            return mCount;
        }
    
        @Override
        public CharSequence getPageTitle(int position) {
          return TestFragmentAdapter.CONTENT[position % CONTENT.length];
        }
    
        public void setCount(int count) {
            if (count > 0 && count <= 10) {
                mCount = count;
                notifyDataSetChanged();
            }
        }
        
    }

Here is how i create my viewpager:

    public class SampleTitlesDefault extends BaseSampleActivity {
   
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            mAdapter = new TestFragmentAdapter(getSupportFragmentManager());
    
            mPager = (ViewPager)findViewById(R.id.pager);
            mPager.setAdapter(mAdapter);
    
            mIndicator = (TitlePageIndicator)findViewById(R.id.indicator);
            mIndicator.setViewPager(mPager);
            mIndicator.setCurrentItem(1);
        }
        
    }

What can be problem here?How can i solve this?Thanks for your help

--
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
 
 

No comments:

Post a Comment