私のアプリはAPI8以降を対象とし、ActionbarSherlockを使用しています。Activity
を拡張しますSherlockFragmentActivity
。ビューページャー用のフラグメントアダプターは次のとおりです。
public class MyFragmentAdapter extends FragmentPagerAdapter {
public Fragment getItem(int position) {
...
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
super.destroyItem(container, position, object);
FragmentManager manager = ((ListFragment) object).getSherlockActivity().getSupportFragmentManager();
FragmentTransaction trans = manager.beginTransaction();
trans.remove((Fragment) object);
trans.commit();
}
}
のdestroyItem
ページを削除するために使用されますFragmentPagerAdapter
。これは最初は問題なく機能します。おそらく最初の2回はページが削除されます。しかし、ページの削除を続けるmanager
と、nullが返され、アプリがそのmanager.beginTransaction()
行でクラッシュします。
なぜこれなのかわからないようです...