Android FragmentTransaction,ActionBar Tabs和Multiple Fragments

时间:2011-07-06 21:37:30

标签: android android-fragments

所以,我正在使用兼容性库构建一个平板电脑应用程序,并且遇到了一个我似乎无法弄清楚的奇怪现象。在一个活动中,我有2个标签(标签A和标签B)和3个片段(片段A1,A2和B)。与选项卡A关联的ActionBar.TabListener处理添加和删除片段A1和A2,与选项卡B关联的ActionBar.TabListener处理选项卡B的添加和删除。到目前为止一切顺利。

当我启动活动时会显示奇怪的行为(因此选择标签A并且从左到右正确显示片段A1和A2)单击标签B(因此删除了片段A1和A2并显示片段B ,仍然正确)然后单击选项卡A! 现在,片段A1和A2显示,但顺序相反:A2然后是A1!

有没有人经历过这种奇怪的事情?如果我再次选择选项卡B然后选择选项卡A,它们将再次反向以正确的顺序,并且循环继续。根据{{​​3}},“如果您要将多个片段添加到同一个容器中,那么添加它们的顺序决定了它们在视图层次结构中出现的顺序”,这种情况奇怪似乎并非如此现在做到了。

有什么想法吗?提前谢谢!

1 个答案:

答案 0 :(得分:3)

  

根据这篇文章,“如果你要将多个片段添加到同一个容器中,那么添加它们的顺序决定了它们在视图层次结构中出现的顺序”,这种情况似乎并不奇怪。现在做到了。

就个人而言,我不会指望这一点。

例如,假设您使用的是水平LinearLayout。您当前的代码可能是将两个片段放在LinearLayout中。我接近它的方法是在FrameLayouts中已经有两个LinearLayout,并将每个片段放在FrameLayouts之一中。