在活动之间切换而不关闭它们

Posted

技术标签:

【中文标题】在活动之间切换而不关闭它们【英文标题】:Switching Between Activities Without Closing Them 【发布时间】:2019-08-11 22:18:30 【问题描述】:

所以基本上我被卡住了......我想在不关闭活动的情况下在活动之间切换......例如,“活动1”有谷歌网页,“活动2”有Facebook......我怎么能在不关闭和重新打开网页的情况下在两个活动之间切换??

【问题讨论】:

您可以发布您的活动,以便我们了解您在做什么 只需使用Intent。基本上,如果你使用Intent 去其他Activity,之前的Activity 会一直停留在那里,直到你调用Activity.this.finish();。或者您可以保存您的活动状态,(阅读;***.com/questions/151777/…) 尝试查看 Activity launchModes 即使您将使用launchModes并且您不会调用finish(),您仍然不能保证系统不会破坏当前不可见的活动。我认为您应该考虑在一项活动中使用 2 个片段。 这个答案可能会帮助你***.com/questions/54967503/…。 【参考方案1】:

要重新排列堆栈中的活动而不打开和关闭它们,您可以执行以下操作(启动Activity 时):

Intent intent = new Intent(this, TargetActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);

请勿致电finish()

这将在堆栈中查看TargetActivity 的实例是否已经存在。如果是这样,它将被简单地移动到堆栈的顶部(以便用户可以看到它)。如果堆栈中不存在这样的实例,则将创建一个新实例。所以你不需要知道一个实例是否已经存在。

【讨论】:

乐于助人!如果我的回答有帮助,您可以通过单击答案旁边的绿色复选标记“接受”它。这将为我们双方带来一些声誉点,并将此问题从未回答的问题列表中删除。它还可以帮助其他搜索类似问题的人问题。

以上是关于在活动之间切换而不关闭它们的主要内容,如果未能解决你的问题,请参考以下文章

一个活动和另一个活动之间的动画过渡[关闭]

退出活动而不关闭对话框

Android:停止java main方法而不关闭活动

关闭活动工作表的正确方法?

使用关闭按钮切换引导选项卡

在 C++ 中声明实例变量而不构造它们的好方法是啥? [关闭]