0

我有以下我希望实现的目标:

活动 A -> 活动 B

活动 B -> 活动 A

在纸面上,这听起来就像只是按下后退按钮一样。问题是,我不希望 Activity B 被弹出。

我需要一些类似于 moveTaskToBackground 的东西,但只是针对单个活动。这样当我再次从 A 回到它时,它可以恢复。

为了给您一些上下文,活动 A 是一个项目列表。活动 B 显示有关项目的信息并播放附加到它的歌曲。从 B 回到 A 时,我希望这首歌继续播放,这样如果人们在 A 中点击相同的选项,他们就会恢复活动。否则,终止该活动并使用新细节开始一个新活动并播放新歌曲。

4

2 回答 2

1

您需要查看ActivityGroupLocalActivityManager。TabActivity(如其他答案中所建议)实际上扩展了 ActivityGroup。

这是一个让您入门的快速示例:

使用它来开始活动 A:

LocalActivityManager manager =  getLocalActivityManager();  

//A_ID == 1
Window activityWindow = manager.startActivity(A_ID, intent_activityA); 
setContentView(activityWindow.getDecorView());

或者这个开始活动B:

//B_ID == 2
Window activityWindow = manager.startActivity(B_ID, intent_activityB);
setContentView(activityWindow.getDecorView());

活动被缓存并与指定的 ID 相关联。如果您多次调用具有相同 id 的 startActivity,则实际使用缓存的活动(并非总是如此,取决于您使用的意图)。如果需要,您可以轻松地从缓存中删除任何活动。查看LocalActivityManager了解更多详细信息。

于 2011-01-11T00:08:42.947 回答
0

您可以使用TabActivity在活动之间切换。您可以在代码中进行切换。只需隐藏 UI 中的选项卡即可。

这是一个关于如何开始的快速教程:http: //developer.android.com/resources/tutorials/views/hello-tabwidget.html

于 2011-01-10T20:39:21.560 回答