选项卡,活动和嵌套片段

时间:2012-11-15 21:28:37

标签: android android-layout android-fragments android-tabs android-support-library

我正在开始一个新的应用程序,需要有一组标签。在每个选项卡中,我需要多个屏幕,每个屏幕都有自己的后台堆栈(客户端需要)。这是我的意思的快速图表:

Tab 1
   |
   |_Screen1a --> Screen1b --> Screen1c
Tab 2
   |
   |_Screen2a -->Screen2b
Tab 3
   |
   |_Screen3a --> Screen3b --> Screen3c --> Screen3d
...etc

现在,在使用FragmentActivity作为标签主机活动之前,我已经这样做了。然后每个标签都是FragmentActivity,它包含每个片段。通过这个,我的意思是:

FragmentActivity
    FragmentActivity1
       |
       |_Fragment1 --> Fragment2 --> Fragment3
    FragmentActivity2
       |
       |_Fragment4 --> Fragment5
    FragmentActivity3
       |
       |_Fragment6 --> Fragment7 --> Fragment8 --> Fragment9
    ...etc

现在,随着4.2 SDK和支持库的新版本的发布,存在嵌套片段。这允许您将片段放在另一个片段内(我假设您可以继续嵌套,但尚未测试它)。我正在考虑切换到使用嵌套片段,因为我目前在我的Tab主机活动中使用了弃用的方法。从本质上讲,我将使用单个主机活动以片段形式实现我的应用程序的整个流程。

在性能问题或内存问题等方面是否有任何挫折?或者我应该使用之前已经完成的实现并使用已弃用的方法?

1 个答案:

答案 0 :(得分:1)

嵌套片段可以帮助解决您的问题,我已经尝试过这个实现。但是不要将子Activity(意图)添加到TabHost的TabSpec中。所有儿童活动都应该用碎片替换。 但在我的选择中,我认为这种实施并不好。因为Android有后退键,所以导航会有点连线。按下后退键通常会将用户返回到上一个屏幕。但是这个标签会让后面的导航变得混乱。