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我到目前为止没有尝试使用查看寻呼机。