我希望实现以下目标:
活动A - >活动B
活动B - >活动A
在纸面上它听起来就像击中后退按钮一样。问题是,我不希望弹出活动B.
我需要一些与moveTaskToBackground类似的东西,但是对于单个活动。这样,当我再次从A回到它时,它可以恢复。
为了给你一些上下文,活动A是一个项目列表。活动B显示有关该项目的信息并播放附加到其上的歌曲。当我从B回到A时,我希望这首歌继续播放,如果这个人在A中击中相同的选项,他们就会恢复活动。否则,请删除该活动并使用新的详细信息开始新的活动并播放新歌。
非常感谢。
答案 0 :(得分:1)
您需要查看ActivityGroup和LocalActivityManager。 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