2016-02-26 54 views
2

如何防止每次创建Store实例活动?每次android都通过Intent创建新的实例活动?

当我打电话给startActivity(new Intent(this,StoreActivity.class))时,它会创建新的实例并在StoreActivity中调用OnCreate方法。我想打电话一次Oncreate

这是可能的吗?

+0

不可能。您应该查看此文档http://developer.android.com/training/basics/activity-lifecycle/recreating.html并使用类似的概念来保​​存活动状态(当您的活动被销毁时),然后重新使用这些保存的状态您从意图重新创建活动。 – kha

回答

1

做这个

startActivity(new Intent(
     this,StoreActivity.class).setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)); 

Android Documentation

public static final int FLAG_ACTIVITY_SINGLE_TOP 

如果设置,活动将不会被它是否已经在历史堆栈的顶部运行启动。

常量值:536870912(0x20000000)

+0

号码不起作用 –

+0

你的意思是不工作?即使活动开放,它是否仍在推出新实例? – Rohit5k2

+0

当我从MainActivity调用storeActivity时,在创建StoreActivity实例期间调用OnCreate方法调用,现在我按了回来,从Storeactivity调用onBackpressMethod ...并且我回到了MainActivity ..现在它不应该调用Oncreate方法StoreActivity当我重定向从主要活动到商店活动..因为我已经创建了StoreActivity的实例。 –

0

,因为每次按返回键,这是不可能的onBackPressed()方法被调用它实际上毁了你的StoreActivity

如果您希望此方法不会破坏您的活动,请在此方法中删除或注释掉super.onBackPressed()行。

在这种情况下,当按下返回按钮时,您的活动不会被破坏,但是您将不得不使用任何其他逻辑将您的活动带到堆栈顶端。

相关问题