直接放上代码及辅助注释
/**
* A [FragmentPagerAdapter] that returns a fragment corresponding to
* one of the sections/tabs/pages.
*/
public class SectionsPagerAdapter extends FragmentPagerAdapter {
// 修改原tab名称数组,
private static final String[] TAB_TITLES = new String[]{"tab1", "tab2", "tab3"};
private final Context mContext;
public SectionsPagerAdapter(Context context, FragmentManager fm) {
super(fm);
mContext = context;
}
@NotNull
@Override
public Fragment getItem(int position) {
Fragment fragment = null;
// 根据tab索引返回不同的fragment
switch(position){
case 0:
fragment = new Fragment0();
case 1:
fragment = new Fragment1();
case 2:
fragment = new Fragment2();
}
return fragment;
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return TAB_TITLES[position];
}
@Override
public int getCount() {
// 返回tab数量
return 3;
}
}