当我启动一个片段并添加到BackStack时,它不能被FragmentTransaction.remove()删除,添加如下:
module Common
def list
"some_url/#{name.tableize}.json"
end
end
这里是删除代码:
mManager.beginTransaction()
.add(R.id.fragment_container, new FB(), "B")
.addToBackStack("addB")
.commit();
在我第一次删除片段B之后,我仍然可以通过
获得片段B. FB fb = (FB) mManager.findFragmentByTag("B");
if (fb != null) {
FragmentTransaction ft = mManager.beginTransaction();
ft.remove(fb);
ft.detach(fb);
ft.addToBackStack("removeB");
ft.commit();
} else {
showToast("B is not exist");
}
和FB fb = (FB) mManager.findFragmentByTag("B")
onDestory()
onPause()
也不起作用。
我怎么知道碎片B是否被移除?
按照以下步骤操作可能会导致异常:
onDetach()
步骤进行:
java.lang.IllegalStateException: Fragment already added: FB{424365e0 #0 id=0x7f0c004f B}