2013-08-16 93 views
1

如何重置或重新加載碎片容器,以使其變爲空。 我有一個主詳細信息視圖,我想重置詳細信息容器,以清空菜單項click.This工程在某些情況下,並沒有在一些。重置/重新加載碎片容器

NullFragment fragment = new NullFragment(); 
FragmentManager fragmentManager = getFragmentManager(); 
FragmentTransaction fragmentTransaction = fragmentManager 
     .beginTransaction(); 
fragmentTransaction.replace(R.id.item_detail_container, 
fragment); 
int count = fragmentManager.getBackStackEntryCount(); 
fragmentManager.popBackStackImmediate(count, 0); 
fragmentTransaction.commit(); 
+0

請記錄,在這種情況下,它不起作用。 –

+0

你不重置容器。您需要重置容器內的片段。 – bofredo

回答

8

通常你只需從中刪除片段即可。

例如像做

getFragmentManager().beginTransaction().remove(getFragmentManager().findFragmentById(R.id.your_container)).commit(); 

這將removeyour_container把持它的片段。

這得到當前存在的片段your_container

getFragmentManager().findFragmentById(R.id.your_container) 

這刪除片段

getFragmentManager().beginTransaction().remove(fragment).commit(); 

編輯

而且有時是確保執行所有交易有用的,完成後,可以使用

getFragmentManager().executePendingTransactions(); 
+0

這對我的工作非常感謝:) – Eriz

+0

好吧,這很酷;-) – HpTerm

+0

如果我有一個查看傳呼機? – Gattsu