我的课程中有一个部分用于处理要为 FragmentPagerAdapter 加载的片段。现在它可以很好地加载片段,但现在我想实现一个 FragmentActivity 并且我在弄清楚如何创建它时遇到了问题,因为我不能使用“newinstance”,因为它的 Activity 类型,而且最重要的是,我不知道如何称该 FragmentActivity 与通过“newinstance”方法仅加载 Fragment 不同。我的第二个选项卡是我想扩展到 FragmentActivity 的选项卡。
public class SectionsPagerAdapter extends FragmentPagerAdapter {
private Context _context;
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
_context= getApplicationContext();
}
@Override
public Fragment getItem(int i) {
Fragment f = new Fragment();
switch(i){
case 0:
f=News.newInstance(_context);
break;
case 1:
f=Info.newInstance(_context);
break;
case 2:
f=Files.newInstance(_context);
break;
case 3:
f=Donate.newInstance(_context);
break;
}
/*
Fragment fragment = new DummySectionFragment();
Bundle args = new Bundle();
args.putInt(DummySectionFragment.ARG_SECTION_NUMBER, i + 1);
fragment.setArguments(args);
*/
return f;
}
@Override
public int getCount() {
return 4;
}
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0: return getString(R.string.title_section1).toUpperCase();
case 1: return getString(R.string.title_section2).toUpperCase();
case 2: return getString(R.string.title_section3).toUpperCase();
case 3: return getString(R.string.title_section4).toUpperCase();
}
return null;
}
}
我的猜测是我不能使用 getitem 方法,因为它只用于切换片段,我必须使用类似的东西:
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.fragment_content, new BasicFragment());
ft.commit();
有人可以帮我指出正确的方向吗?