如何将相同的活动但不同的任务带到堆栈顶部?

时间:2016-07-23 17:05:57

标签: android android-activity

我启动活动A(1)并单击活动A中的按钮然后再次启动活动A(2)但活动A(2)中的内容发生变化。我想把A(1)带到顶部(与A​​(2)交换)我该怎么办?

示例流程

1)A(1)------> A(2) 当我点击A(2)中的按钮时,A(1)将叠加到顶部。

2)当我从A(1)反击到顶部的aleardy时,它会显示A(2)。

谢谢你,抱歉我的英文不好。

1 个答案:

答案 0 :(得分:0)

你不能这样做。如果堆栈中有多个相同[...]的实例,则无法可靠地重新排列活动堆栈。 Android不是为这种导航而设计的。

如果您的应用中确实需要此类导航,则有两种选择:

1)不要使用相同的Activity两次。即使代码和布局相同,您也可以创建另一个具有不同名称的Activity。在这种情况下,您将拥有ActivityA,而不是BA(1)。现在,您可以使用A(2)Intent标记重新排列任务中的活动堆栈。

2)如果您只想更改内容,请不要启动FLAG_ACTIVITY_REORDER_TO_FRONT的新实例。只需在用户按下按钮时更改内容即可。覆盖A并在用户按下BACK按钮时再次更改内容。这将只使用一个活动给出2个活动的假象。