public class FragmentFactoty {
public static FragmentFactoty sFragmentFactoty;
private FragmentFactoty(){}
public static FragmentFactoty getInstance(){
if (sFragmentFactoty == null){
synchronized (FragmentFactoty.class){
if (sFragmentFactoty == null){
sFragmentFactoty = new FragmentFactoty();
}
}
}
return sFragmentFactoty;
}
private static final int Home = 0;//首页
private static final int APP = 1;//应用
private static final int Game = 2;//游戏
private static final int Subject = 3;//专题
private static final int Recommend = 4;//推荐
private static final int Categoty = 5;//分类
private static final int Hot = 6;//热门
public Fragment getFragment(int position){
switch (position) {
case Home:
return new HomeFragment();
case APP:
return new APPFragment();
case Game:
return new GameFragment();
case Subject:
return new SubjectFragment();
case Recommend:
return new RecommendFragment();
case Categoty:
return new CategotyFragment();
case Hot:
return new HotFragment();
}
return null;
}
}
String [] mTitles = getResources().getStringArray(R.array.main_titles);
mViewPager.setAdapter(new MainAdapter(getSupportFragmentManager(),mTitles));
mTab_layout.setupWithViewPager(mViewPager);
public class MainAdapter extends FragmentPagerAdapter{
private String[] mTitles;
public MainAdapter(FragmentManager fm, String[] titles) {
super(fm);
mTitles = titles;
}
@Override
public Fragment getItem(int position) {
return FragmentFactoty.getInstance().getFragment(position);
}
//获取数组的长度
@Override
public int getCount() {
return mTitles.length;
}
//返回tablelayout对应的标题
@Override
public CharSequence getPageTitle(int position) {
return mTitles[position];
}
}