如何重置或重新加载片段容器,使其为空。 我有一个主详细信息视图,我想在菜单项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();
答案 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();