问题
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;
}
}
回答1:
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;
}
}
来源:https://stackoverflow.com/questions/24909452/how-to-get-the-selected-tab-of-a-viewpager