2010-04-27 88 views
2

当TabWidget使用意图为每个选项卡指定目标活动时,是否有任何特殊处理活动堆栈上这些活动的默认操作之外?对于实例,如果我的应用程序有选项卡A,B和C,并且按顺序单击它们 - A,B,A,C,A,B - 活动堆栈将如何更改?TabWidget活动处理 - 是否每次创建一个新活动?

我的默认操作的理解,如果startActivity()上的意图,每次调用时,将有堆栈继续囤积活动的新情况:A,AB,ABA,ABAC,ABACA,ABACAB

虽然很难相信它是如何工作的......似乎是浪费资源,可能是无止境的。谁能告诉我这将如何实际工作?

回答

6

举例来说,如果我的应用程序有标签A,B, 和C,我点击他们在这个 顺序 - A,B,A,C,A,B - 如何将 活动堆栈更改?

TabWidget的内部活动不会进入堆栈。

我的默认 操作的理解,如果startActivity()是 的意图每次调用,将 具有堆栈继续囤积活动的新 情况:A,AB, ABA,ABAC ,ABACA,ABACAB

TabWidget不会在每个选项卡点击上创建新活动。

+0

有趣。那么只有具有TabWidget的Activity才会进入堆栈?当您更改任务并返回时,TabWidget是否也会自动保存当前选择哪个选项卡的状态? – stormin986 2010-04-27 17:43:11

3

Tabwidget负责管理活动。所有未显示的活动都会暂停,并在Tabhost中选择“活动”时恢复。