【问题标题】:Android: how to clear completely FragmentManagerAndroid:如何彻底清除 FragmentManager
【发布时间】:2016-05-12 14:10:12
【问题描述】:

在我的活动 A 中,我添加了一些片段(标准情况)。我在我的 Android 手机设置中检查了“不要保留活动”以模拟最差的应用程序行为。

所以,当这个 Activity A 重新启动时,我在 onCreate() 方法中执行此操作,以清理我之前添加的所有片段:

FragmentManager fm = getSupportFragmentManager();
    List<Fragment> al = fm.getFragments();
    if (al != null) {
        for (Fragment frag : al) {
            if (frag != null) {
                getSupportFragmentManager().beginTransaction().remove(frag).commit();
                fm.popBackStack();
            }
        }
    }

但不幸的是,我可以在日志中看到这些信息:

Successful to getNewsFeedInteractionsList() #2
Successful to getNewsFeedInteractionsList() #2
Successful to getNewsFeedUserList() #Suivis
Successful to getNewsFeedUserList() #Populaire
Successful to getNewsFeedUserList() #Populaire
Successful to getNewsFeedUserList() #Suivis

你可以看到,所有这些片段都出现了两次......

感谢您的帮助!

【问题讨论】:

    标签: android android-fragments fragmentmanager


    【解决方案1】:

    在添加片段时,您可以设置标签。基于这些标签处理onCreate 中的重复添加。 以及您使用savedBundle 实例进行空检查

    【讨论】:

      猜你喜欢
      • 2020-07-05
      • 2014-10-06
      • 2013-10-05
      • 1970-01-01
      • 2021-07-22
      • 2012-10-14
      • 2016-09-18
      • 2011-07-28
      • 2023-03-14
      相关资源
      最近更新 更多