Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get the selected Tab of a viewPager?

I created a viewpager using the lib viewpagerindicator. The activity extends FragmentActivity, so I have a problem to get which tab is selected. My adapter is given by the code below.

 class GoogleMusicAdapter extends FragmentPagerAdapter implements IconPagerAdapter {
    public GoogleMusicAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {

        // add each fragment in the right place
        if(position == 0){
           // return TestFragment.newInstance(CONTENT[(position + 1) % CONTENT.length]);
            return StudentTaskFragment.newInstance();
        } else if(position == 1){

            return .PartyFragment.newInstance();

        }else {
            return .StudentTaskFragment.newInstance();                   
        }
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return CONTENT[position % CONTENT.length].toUpperCase();
    }

    @Override public int getIconResId(int index) {
        return ICONS[index];
    }

    @Override
    public int getCount() {
        return CONTENT.length;
    }
}
like image 470
zied Avatar asked Nov 27 '25 09:11

zied


1 Answers

mViewPager.getCurrentItem()

use above line to get currently open tab position if your unable to find this method for view pager then update your support library

also you can create your listner and you can get current position of selcted tab

 /**
 * Get the current view position from the ViewPager by
 * extending SimpleOnPageChangeListener class and adding your method
 */
public class DetailOnPageChangeListener extends ViewPager.SimpleOnPageChangeListener {

    private int currentPage;

    @Override
    public void onPageSelected(int position) {
        currentPage = position;
    }

    public final int getCurrentPage() {
        return currentPage;
    }
}
like image 162
Android is everything for me Avatar answered Nov 29 '25 22:11

Android is everything for me