我知道我可以启动FragmentTransaction来处理片段,如下所示:
FragmentManager fragMgr = getHaloFragmentManager();
FragmentTransaction fragTrans = fragMgr.beginTransaction();
MyFragment myFragment = new MyFragment();
fragTrans.replace(R.id.content, fragment, "myTag");
我也可以通过以下方式删除myFragment
以上的内容:
fragTrans.remove(myFragment); //Note, here I use the same 'fragTrans'
但是,如果我创建新的 FragmentTransaction
并删除myFragment
:
FragmentManager fragMgr2 = getHaloFragmentManager();
FragmentTransaction fragTrans2 = fragMgr.beginTransaction();
fragTrans2.remove(myFragment); //It won't remove myFragment, because it is another transaction
以上新创建的FragmentTransaction fragTrans2
将不删除myFragment
。
我的问题是,如果我在没有任何原始myFragment
参考的情况下获得fragTrans
,我怎样才能获得 {{1} ({1}}处理FragmentTransaction
},以便我可以使用原始(第1个)myFragment
删除myFragment
?
答案 0 :(得分:1)
你在删除()之后调用.commit()吗?