Rob
Rob

Reputation: 748

How to set a specific tab when opening a Sliding Tab Layout activity?

I tried this tutorial and it works great, but now I would like to know if it is possible, when opening the application, to go directly to a specific tab and not the first one (at left) by default ?

Ex : I would like the application to open directly on "events" tab :

enter image description here

I searched into the code, but didn't find anything relevant.

Thanks folks

EDIT : Here is the way : Just add pager.setCurrentItem(1); in your MainActivity (the tabs container).

Upvotes: 14

Views: 16997

Answers (4)

V. Hruaia
V. Hruaia

Reputation: 29

Add to the MainActivity.java

private static final int EVENTS = 1;

private ViewPager mViewPager;
mViewPager = (ViewPager) findViewById(R.id.pager);

@Override
    public void onStart() {
        super.onStart();
        mViewPager.setCurrentItem(EVENTS);

    }

Upvotes: 0

user8255370
user8255370

Reputation:

you can use setCurrentTab(index) in onResume() of MainActivity where index is the index of tab you want to go to.

Upvotes: 0

IntelliJ Amiya
IntelliJ Amiya

Reputation: 75788

ViewPager is most often used in conjunction with Fragment, which is a convenient way to supply and manage the lifecycle of each page.

You can use setCurrentItem // Set the currently selected page.

Set the currently selected page. If the ViewPager has already been through its first layout with its current adapter there will be a smooth animated transition between the current item and the specified item.

Finally,

Your_View_Pager_Obj.setCurrentItem(1); // call into onCreate(Bundle savedInstanceState) 

Upvotes: 25

silverFoxA
silverFoxA

Reputation: 4659

Use the following code along with the viewPager and tablayout

pager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));

Upvotes: 0

Related Questions