1

我的课程中有一个部分用于处理要为 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();

有人可以帮我指出正确的方向吗?

4

1 回答 1

0

有人可以帮我指出正确的方向吗?

这是不支持的。肯定是不可能的FragmentPagerAdapter,它只适用于片段。

于 2012-11-10T12:09:55.573 回答