我如何删除所有使用 fragmentmanager 添加的片段?
How can i remove all fragments that are added with the fragmentmanager?
我像这样添加了多个片段:
currentWebViewFragment = tabs.get(currentTabIndex);
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.webViewFrame,tabs.get(currentTabIndex));
ft.commit();
但是“如果 activity 被暂停或停止,系统可以通过要求它完成或简单地终止其进程来从内存中删除 activity。
如果 activity 被销毁并保存其状态,片段管理器也是如此。
当 activity 被销毁并决定保存其状态时,如何删除从 fragmentmanager 添加的所有片段?
你可以把所有的片段加到一个ArrayList
中,然后你就可以使用remove(fragment)
,例如:
FragmentTransaction ft = fm.beginTransaction();
for (Fragment fragment : fragmentList){
ft.remove(fragment);
}
ft.commit();
如果您想避免保存状态,您可以将其放入 onSaveInstanceState
方法或 onStop
中。
我像这样添加了多个片段:
currentWebViewFragment = tabs.get(currentTabIndex);
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.webViewFrame,tabs.get(currentTabIndex));
ft.commit();
但是“如果 activity 被暂停或停止,系统可以通过要求它完成或简单地终止其进程来从内存中删除 activity。
如果 activity 被销毁并保存其状态,片段管理器也是如此。
当 activity 被销毁并决定保存其状态时,如何删除从 fragmentmanager 添加的所有片段?
你可以把所有的片段加到一个ArrayList
中,然后你就可以使用remove(fragment)
,例如:
FragmentTransaction ft = fm.beginTransaction();
for (Fragment fragment : fragmentList){
ft.remove(fragment);
}
ft.commit();
如果您想避免保存状态,您可以将其放入 onSaveInstanceState
方法或 onStop
中。