重置/重新加载片段容器

时间:2013-08-16 08:20:46

标签: android fragment

如何重置或重新加载片段容器,使其为空。 我有一个主详细信息视图,我想在菜单项click上重置详细信息容器为空。这在某些情况下有效,而在某些情况下不适用。

 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();

1 个答案:

答案 0 :(得分:8)

通常只需从中删除片段。

例如做

之类的事情
getFragmentManager().beginTransaction().remove(getFragmentManager().findFragmentById(R.id.your_container)).commit();

这将remove your_container持有它的片段。

这会获取your_container中当前存在的片段

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

并删除片段

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

修改

有时,确保执行和完成所有事务都很有用,这可以通过使用

来完成
getFragmentManager().executePendingTransactions();