【发布时间】:2021-11-09 21:11:32
【问题描述】:
这个很奇怪。我正在一个较旧的应用程序上实现面包屑导航,我还没有准备好重构视图。不幸的是,每个新导航都会打开一个新活动,有时还会打开同一活动的新实例。所以我的面包屑导航基本上是这样的:
Activity A > Activity B > Activity C > Activity C > Activity C > Activity C > Activity D
因此,如果我在 Activity C 上并且我需要返回到 Activity B,我可以将 Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP 设置为意图并导航回来没有问题。但是,如果我需要从 Activity C 的第 4 个实例导航到 Activity C 的第 2 个实例,我无法使用任何意图标志来实现这一点。我的应用程序已经在使用后退按钮,因此我无法覆盖它以在此处使用。有人对在 Activity C 的多个实例之间导航有任何想法吗?
幸运的是,所有这些应用程序都继承自同一个父应用程序,该父应用程序扩展了 FragmentActivity,如果这有帮助的话。
【问题讨论】:
-
你为什么不使用 Fragments 呢?
-
但是,如果您必须使用活动,您可以尝试查找活动启动模式。有很多,在这里我很难解释
-
@gtxtreme 我还没有重构应用程序,我可以将活动变成片段。显然,在这种情况下,我可以根据需要多次弹出 backstack。此应用创建于 2014 年,此后未更新。
-
我还是不明白在什么情况下一个activity可以实例化不是一次而是4次
-
@gtxtreme 这在 Android 中很容易做到,你可以随时调用
startActivity()并创建一个Activity的新实例,即使你使用的类与制作的类相同电话。
标签: java android android-intent android-fragmentactivity