-1

在 FragmentStatePagerAdapter 的 android 文档中,解释了适配器可以这样设置:

public static class MyAdapter extends FragmentStatePagerAdapter {
    public MyAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public int getCount() {
        return NUM_ITEMS;
    }

    @Override
    public Fragment getItem(int position) {
        return MyFragment.newInstance();
    }
}

我想使用它,但是,我还想管理使用 FragmentManager 添加的片段。我怎样才能做到这一点?我的方法是抛出一个NullPointerException.

public static class MyAdapter extends FragmentStatePagerAdapter {
    private FragmentManager mFragmentManager;

    public MyAdapter(FragmentManager fm) {
        super(fm);
        mFragmentManager = fm;
    }

    @Override
    public int getCount() {
        return NUM_ITEMS;
    }

    @Override
    public Fragment getItem(int position) {
        mFragmentManager.beginTransaction()
            .add(MyFragment.newInstance(), MyFragment.TAG).commit();
        return mFragmentManager.findFragmentByTag(MyFragment.TAG);
    }
}
4

1 回答 1

0

我怎样才能做到这一点?

PagerAdapter您从头开始编写自己的实现。FragmentPagerAdapterFragmentStatePagerAdapter会做他们自己的片段交易,与你的碰撞。

于 2014-03-03T15:33:02.413 回答