我正在尝试做这样的事情:
我有一些任务活动:
A->B->C
从 C 我想从堆栈中调用 B 的实例并保留当前历史记录。所以奇怪的结果是这样的:
A->B->C->B
其中 B 和 B 是相同的实例,但可以使用“后退”按钮向后导航。
可能吗?
可能被骗: Android任务历史堆栈:可以有“重复活动”?
我正在尝试做这样的事情:
我有一些任务活动:
A->B->C
从 C 我想从堆栈中调用 B 的实例并保留当前历史记录。所以奇怪的结果是这样的:
A->B->C->B
其中 B 和 B 是相同的实例,但可以使用“后退”按钮向后导航。
可能吗?
可能被骗: Android任务历史堆栈:可以有“重复活动”?
我通过实现自己的 Back Stack 解决了我的问题。主要思想是使用 FLAG_ACTIVITY_BRING_TO_TOP 来指示我的单身活动。
据我所知,Android 不支持这种情况。
你可以有:
A->B->C->B(其中 B 都是同一个类的活动,但它们是两个不同的对象)
公关
A->C->B(将 B 放在前面)。
但是,我认为您可以自己构建一些东西。如果您将在 onPause() 上序列化 B 的状态并在 onCreate() 和 onResume() 上对其进行反序列化,则堆栈中可能有两个 B(它们将是单独的对象),但它们仍然具有相同的状态(例如所有成员)。