Android更改每个片段的setNavigationMode将导致应用程序崩溃

Android更改每个片段的setNavigationMode将导致应用程序崩溃,android,android-actionbar,Android,Android Actionbar,我创建了以下项目,以便您可以看到我的确切代码以及正在发生的事情: 基本上,我试图做的是隐藏一些页面的选项卡,并在其他页面中显示它们 下面是我用来显示onresume中选项卡的代码 if(getActivity().getActionBar().getNavigationMode()==ActionBar.NAVIGATION_MODE_STANDARD){ getActivity().getActionBar().setNavigationMode(ActionB

我创建了以下项目,以便您可以看到我的确切代码以及正在发生的事情:

基本上,我试图做的是隐藏一些页面的选项卡,并在其他页面中显示它们

下面是我用来显示onresume中选项卡的代码

       if(getActivity().getActionBar().getNavigationMode()==ActionBar.NAVIGATION_MODE_STANDARD){
        getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    }
然后,要隐藏选项卡,我在简历上执行以下操作:

 getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
当我在第一个片段上时(在backback中没有任何内容)。我可以在第二个屏幕上显示和隐藏选项卡。它有时会在更改选项卡时出错

当我在后面的第二个碎片上时,我隐藏了第三个碎片。我看到第二个和第三个片段都调用onrefresh,但是第三个片段没有显示

我对正在发生的事情以及为什么这不容易感到困惑

下面是我通常遇到的错误
03-27 15:26:31.029:E/AndroidRuntime(5505):java.lang.IllegalStateException:已添加的片段:Fragment3{41f2e390#2id=0x1020002 Fragment3}

。但我的解决办法是创建另一个带有片段且没有选项卡的活动。这似乎很有效。但如果他们不想让你更改标签,也不想每个片段都更改标签,我很感兴趣。

我也遇到过类似的情况,只是我使用了
导航模式列表
而不是标签。当我从另一个片段调用片段时,我遇到了类似的问题,例如,单击列表项打开项目详细信息


现在我调用主活动中的所有片段,它允许我控制actionbar的设置。每当导航列表消失时,我只要在调用片段时调用
navigation\u MODE\u STANDARD
,对其他片段调用
navigation\u MODE\u list

这对我来说也是一个问题,有趣的是,将模式设置为“恢复片段”中的选项卡会产生一个无限循环:(