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

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

【问题讨论】:

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

标签: android android-activity webview


【解决方案1】:

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

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

请勿致电finish()

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

【讨论】:

  • 乐于助人!如果我的回答有帮助,您可以通过单击答案旁边的绿色复选标记“接受”它。这将为我们双方带来一些声誉点,并将此问题从未回答的问题列表中删除。它还可以帮助其他搜索类似问题的人问题。
猜你喜欢
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多