如何防止应用重启后自动创建子片段?
Posted
技术标签:
【中文标题】如何防止应用重启后自动创建子片段?【英文标题】:How to prevent a child fragment to be automatically created after app restart? 【发布时间】:2016-08-30 13:04:38 【问题描述】:我的应用有一个 Activity A,其中包含一个 Fragment B。在 B 中,用户单击一个按钮,然后在 B 中创建一个子 Fragment C。现在用户通过按主页按钮使应用后台运行。一段时间后,我的应用程序被 android OS 杀死并重新启动。
然后用户再次启动应用程序。现在 Activity A 已启动,并且 Fragment B 及其子 Fragment C 都将自动重新创建。我的问题,如何防止子片段 C 自动重新创建?重启时我尝试在B的onAttachFragment方法中从B中删除片段C,但是没有成功。
@Override
public void onAttachFragment(Fragment f)
super.onAttachFragment(f);
if (isRestart)
getChildFragmentManager().beginTransaction()
.remove(f)
.commit();
isRestart = false;
【问题讨论】:
Prevent Fragment recovery in Android的可能重复 【参考方案1】:好的。我最终在 B 的 onActivityCreated() 中从 B 中删除了子片段 C。之后只调用了C的onCreate(),没有调用onCreateView、onStart、onResume。
【讨论】:
以上是关于如何防止应用重启后自动创建子片段?的主要内容,如果未能解决你的问题,请参考以下文章