Change the start page to be displayed in the ViewPagerIndicator

I have implemented ViewPagerIndicator with ActionBarSherlock.

Now I would like to open a specific fragment inside the viewpager after creating the viewpager. Usually you should use setCurrentItem (pageid) or setViewPager (mPager, pageid);

But that doesn't work :( If I would like to open fragment 2 inside the viewpager, the viewpager indicator shows that fragment 2 is shown, but in fact, fragment one (standard) is displayed in the viewpager.

I have the following code:

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.simple_tabs);

        mAdapter = new ColofonFragmentAdapter(getSupportFragmentManager());

        mPager = (ViewPager)findViewById(R.id.pager);
        mPager.setAdapter(mAdapter);
        mIndicator = (TabPageIndicator)findViewById(R.id.indicator);
        String page = "";
        page = getIntent().getStringExtra("page");
        int pageid = 0;
        if(page.equals("contact")) { pageid = 0; }
        else if(page.equals("colofon")) { pageid = 1; }
        else if(page.equals("disclaimer")) { pageid = 2; }      

        mIndicator.setViewPager(mPager, pageid); // Doesn't work...
            //mIndicator.setCurrentItem(pageid); // Doesn't work...
    }

class ColofonFragmentAdapter extends FragmentPagerAdapter implements TitleProvider {

        ArrayList<Fragment> fragments = new ArrayList<Fragment>();
        ArrayList<String> titels = new ArrayList<String>();

        public ColofonFragmentAdapter(FragmentManager fm) {
            super(fm);
            fragments.add(new LayoutFragment(R.layout.colofon_contactgegevens));
            titels.add("Contact");
            fragments.add(new LayoutFragment(R.layout.colofon_colofon));
            titels.add("Colofon");
            fragments.add(new LayoutFragment(R.layout.colofon_disclaimer));
            titels.add("Disclaimer");
        }


        @Override
        public Fragment getItem(int position) {
            return fragments.get(position);
        }

        @Override
        public int getCount() {
            return fragments.size();
        }

        @Override
        public String getTitle(int position) {
            return titels.get(position);
        }
    }

      

Can you tell me which method should I use to change the start page? Thank!

+3


source to share


1 answer


I think it was a bug caused by setCurrentItem () https://github.com/JakeWharton/Android-ViewPagerIndicator/pull/76



He decided ^^

0


source







All Articles