如何重用活动? 不要每次创build活动

这个主题是继续这个: Android。 如何开始活动,而不创build新的?

我已经阅读,当点击返回button时,活动被破坏。 当进一步向堆栈移动时,它们不会被破坏,然后将活动返回。 例如,使用android:launchMode="singleTask"

是否有可能活动不被销毁,当我点击button后,然后再次运行活动?

Solutions Collecting From Web of "如何重用活动? 不要每次创build活动"

后退button的默认实现是完成当前活动。 但是,你可以拦截那个按键,然后用它做任何你想做的事情。 例如,你可以不用完成你目前的活动,而是“提出”以前的活动,从而使得看起来好像正常的实施就在眼前。

拦截后退button: Android:拦截后退键

并开始您以前的活动,而不是每次创build一个新的:

 Intent i = new Intent(View.getContext(), PreviousActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(i); 

祝你好运。

你可以重新定义你的活动的“onBack”方法,就像

 public void onBackPressed () { moveTaskToBack (true); } 

您可以在按下button时停止closures活动。也可以使用下面的方法禁用后退button

 public void onBackPressed () { //super.onBackPressed(); } 

如果用户点击后退button,你也可以开始新的活动

 public void onBackPressed () { startActivity(new Intent(context, newActivity.class)); } 

其实你应该完成活动,如果用户按下返回button .else可以有更多的活动将驻留在后面的堆栈,所以可能会有内存问题,所以在这种情况下,Android会摧毁你的活动停止,不会恢复很多时间。