android – 遍历堆栈中的活动

假设我在堆栈中有活动A,B,C的活动实例A1,B1,A2,B2,C1.如何从C1遍历Activity实例B1?

让我们概括一下B1和C1之间会有’n’个活动.

我不想从C1创建一个新的B实例.

最佳答案
这对Android来说实际上是一个非常糟糕的架构.如果在Activity上创建多个实例,则无法专门解决它们,例如:“返回到ActivityB的第一个实例”. Android不是这样设计的.

您应该避免创建活动的多个实例.更好的是使用相同的实例,只需通过交换底层数据创建多个实例的“幻觉”,并在显示器上添加状态转换,使其看起来像是在启动另一个Activity.

另一种可能的解决方案是使用大量的startActivityForResult()并将信息返回给调用Axctivity,了解下一步该做什么.

有关详细信息,请参阅(即使这些问题具体涉及使用FLAG_ACTIVITY_REORDER_TO_FRONT,问题仍然基本相同):

> Managing Android Activity stack: bring specific activity instance to front
> Multiple activity instances and FLAG_ACTIVITY_REORDER_TO_FRONT
> Bring an activity to front using FLAG_ACTIVITY_REORDER_TO_FRONT

转载注明原文:android – 遍历堆栈中的活动 - 代码日志