2016-05-12 1024 views
0

在我的活动A中,我添加了一些片段(标准案例)。我检查了我的Android手机设置,“不要保留活动”来模拟最差的应用程序行为。Android:如何完全清除FragmentManager

所以,当这个活动重新启动,我这样做,在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 

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

感谢您的帮助!

回答

0

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