Search code examples
android-actionbaractionbarsherlockandroid-viewpager

How to toggle visibility action bar tab navigation?


I use Action Bar Sherlock library.

In SherlockFragmentActivity, Make tabs and pager (Swipe + Tab)

actionBar.addTab(actionBar.newTab().setText("tab1").setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("tab2").setTabListener(this));
actionBar.addTab(actionBar.newTab().setText("tab3").setTabListener(this));

When paging. I change tab. When tab selected, I change page.

(These works fine.)

And make button to toggle visiblity.

actionBar.setNavigationMode(NAVIGATION_MODE_TABS); // this force tab index = 0
//or
actionBar.setNavigationMode(NAVIGATION_MODE_DEFAULT);

But Setting navigation mode to NAVIGATION_MODE_TABS, make tab index = 0 not current tab(pager) index


Solution

  • Try storing current tab index to an integer before you call actionBar.setNavigationMode(NAVIGATION_MODE_TABS);

    int index=actionBar.getSelectedNavigationItem(); actionBar.setNavigationMode(NAVIGATION_MODE_DEFAULT);

    actionBar.setNavigationMode(NAVIGATION_MODE_DEFAULT); actionBar.setSelectedNavigationItem(index);