我创建了以下项目,因此您可以查看我的确切代码以及发生了什么: https ://github.com/CorradoDev/TabsTest/commit/8f054dab2371b791c4061ceb511413f720f65d67
基本上我想要做的是隐藏某些页面的标签并在其他页面中显示它们。
下面是我用来显示 onresume 中的选项卡的代码
if(getActivity().getActionBar().getNavigationMode()==ActionBar.NAVIGATION_MODE_STANDARD){
getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
}
然后隐藏我在简历上执行以下操作的选项卡:
getActivity().getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
当我在第一个片段上时(backstack 中没有任何内容)。我可以显示和隐藏第二个标签。它有时会在更改选项卡时出错。
当我在后台堆栈的第二个片段上时,我隐藏了第三个片段。我看到第二个和第三个片段都调用了 onrefresh 但第三个片段没有显示。
我对正在发生的事情以及为什么这并不容易感到困惑。
下面是我通常得到的错误 03-27 15:26:31.029: E/AndroidRuntime(5505): java.lang.IllegalStateException: Fragment already added: Fragment3{41f2e390 #2 id=0x1020002 fragment3}