在活动之间切换而不关闭它们
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
的实例是否已经存在。如果是这样,它将被简单地移动到堆栈的顶部(以便用户可以看到它)。如果堆栈中不存在这样的实例,则将创建一个新实例。所以你不需要知道一个实例是否已经存在。
【讨论】:
乐于助人!如果我的回答有帮助,您可以通过单击答案旁边的绿色复选标记“接受”它。这将为我们双方带来一些声誉点,并将此问题从未回答的问题列表中删除。它还可以帮助其他搜索类似问题的人问题。以上是关于在活动之间切换而不关闭它们的主要内容,如果未能解决你的问题,请参考以下文章