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

时间:2011-10-06 14:21:32

标签: android

本主题将继续: Android. How to start activity without creating new one?

我已经读过,单击“返回”按钮时会破坏活动。 当深入堆叠然后再调用活动时,它们不会被破坏。例如使用android:launchMode="singleTask"

当我点击按钮BACK然后再次运行活动时,是否有可能不销毁活动?

2 个答案:

答案 0 :(得分:17)

后退按钮的默认实现是完成当前活动。然而,您可以拦截按键并按照您的意愿做任何事情。例如,您可以“调出”之前的活动,而不是完成当前的活动,从而使其看起来好像正常的实施即将到来。

要拦截后退按钮,请按:Android: intercepting back key

开始您以前的活动而不是每次都创建一个新活动:

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

在Kotlin 1.2中:

val intent = Intent(this, RepairListActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_REORDER_TO_FRONT
startActivity(intent)
祝你好运。

答案 1 :(得分:0)

您可以重新定义活动的“onBack”方法,例如

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