有没有办法以编程方式查看堆栈中是否已经存在活动并重新使用它而不是重新创建它?
出现这样的情况,用户可以通过多条路线进入活动,也可以通过多条路线继续前进。但是,在其他活动中单击几下后,可以再次访问相同的活动。当我知道它已经存在于堆栈中时,我想避免应用程序创建一个新的活动。
这可能只是我糟糕的设计(这是我的第一个应用程序)。但只是想知道如何管理?有针对这个的解决方法吗?
有没有办法以编程方式查看堆栈中是否已经存在活动并重新使用它而不是重新创建它?
出现这样的情况,用户可以通过多条路线进入活动,也可以通过多条路线继续前进。但是,在其他活动中单击几下后,可以再次访问相同的活动。当我知道它已经存在于堆栈中时,我想避免应用程序创建一个新的活动。
这可能只是我糟糕的设计(这是我的第一个应用程序)。但只是想知道如何管理?有针对这个的解决方法吗?
好吧,这种自由形式的活动访问在 android UI 指南中有点不受欢迎,但你可以FLAG_ACTIVITY_REORDER_TO_FRONT
在你的 Intent 中使用将你的活动重新洗牌到前面。
或者,您也可以使用FLAG_ACTIVITY_CLEAR_TOP
清除活动顶部的堆栈。
认为所有活动都保存在堆栈中,例如,如果您放置主要活动,然后调用第二个活动,当您完成第二个活动时,主要活动将被放在前面。因此,如果您知道活动在哪里,是的,您可以重复使用它;)
希望有用:)