android:在没有弹出活动的情况下移动活动

时间:2011-01-10 20:36:46

标签: android android-activity pop

我希望实现以下目标:

活动A - >活动B

活动B - >活动A

在纸面上它听起来就像击中后退按钮一样。问题是,我不希望弹出活动B.

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

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

非常感谢。

2 个答案:

答案 0 :(得分: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了解更多详情。

答案 1 :(得分:0)

您可以使用TabActivity在活动之间切换。您可以在代码中进行切换。只需隐藏用户界面中的标签即可。

以下是如何入门的快速教程:http://developer.android.com/resources/tutorials/views/hello-tabwidget.html