2016-02-26 84 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()行。

在這種情況下,當按下返回按鈕時,您的活動不會被破壞,但是您將不得不使用任何其他邏輯將您的活動帶到堆棧頂端。

相關問題