Android 重置/重新加载碎片容器

Android 重置/重新加载碎片容器,android,android-fragments,Android,Android Fragments,如何重置或重新加载片段容器,使其为空。 我有一个主细节视图,我想在单击菜单项时将细节容器重置为空。这在某些情况下有效,但在某些情况下无效 NullFragment fragment = new NullFragment(); FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager .beginTransa

如何重置或重新加载片段容器,使其为空。 我有一个主细节视图,我想在单击菜单项时将细节容器重置为空。这在某些情况下有效,但在某些情况下无效

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

通常,您只需从中删除片段

例如,做一些类似的事情

getFragmentManager().beginTransaction().remove(getFragmentManager().findFragmentById(R.id.your_container)).commit();
这将
从存放它的
容器中删除
片段

这将获取当前存在于\u容器中的片段

getFragmentManager().findFragmentById(R.id.your_container)
这就去除了碎片

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

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

getFragmentManager().executePendingTransactions();

通常,您只需从中删除片段

例如,做一些类似的事情

getFragmentManager().beginTransaction().remove(getFragmentManager().findFragmentById(R.id.your_container)).commit();
这将
从存放它的
容器中删除
片段

这将获取当前存在于\u容器中的片段

getFragmentManager().findFragmentById(R.id.your_container)
这就去除了碎片

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

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

getFragmentManager().executePendingTransactions();

请记录,在这种情况下它不起作用。您不重置容器。您需要重置容器内的片段。请记录,在这种情况下它不起作用。您不重置容器。你需要重置容器内的碎片。如果我有一个查看寻呼机怎么办?@maňish我到目前为止没有尝试使用查看寻呼机。如果我有一个查看寻呼机怎么办?@maňish我到目前为止没有尝试使用查看寻呼机。