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