在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);
}
}
答案 0 :(得分:0)
我该怎么做?
您从头开始编写自己的PagerAdapter
实现。 FragmentPagerAdapter
和FragmentStatePagerAdapter
将执行自己的片段交易,与您的事件发生冲突。