2011-09-18 89 views
0

我已經爲應用程序設置一個Button在每一個活動回去HomeActivity但我要不會重新加載它的內容的要求,所以我需要重新使用的情況下,我已經有HomeActivity,我該怎麼做?導航返回首頁活動

回答

3

你應該使用:FLAG_ACTIVITY_REORDER_TO_FRONT

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_REORDER_TO_FRONT

如果傳遞給Context.startActivity()的意圖設置,這個標誌將 導致啓動的活動被帶到其任務的前面如果歷史堆棧已經運行,則爲 。例如,考慮一個由四個活動組成的任務 :A,B,C,D。如果D調用startActivity() ,並帶有解析爲活動B的組件的Intent,則B 將被帶到歷史堆棧,結果爲 order:A,C,D,B。如果還指定了 FLAG_ACTIVITY_CLEAR_TOP,則該標誌將被忽略。

+0

要確保你把你的AsyncTask電話,或者其他任何你用它來初始化類中的onCreate()代替的onResume()。除非Android垃圾收集實例,否則活動應該立即加載。如果活動被垃圾收集,它可能會重新加載。 – dbaugh

+0

謝謝,我認爲這會很複雜,你讓我的一天:) –

+0

@dbaugh,這個FLAG與你完成()當前活動相同,並返回到上一個活動,是不是(約定)? –

1

我在我的活動中使用了FLAG_ACTIVITY_CLEAR_TOP作爲主頁按鈕。如果您的HomeActivity已經在應用程序堆棧中,則此標誌會導致關閉您的HomeActivity以上的所有活動。這取決於您是否需要將HomeActivity重新訂購到前面(後退按鈕會將您返回到您單擊家中的活動),或者您想要關閉所有高於HomeActivity的活動(如點擊返回,直到我在HomeActivity,在我的情況下返回按鈕關閉我家的活動申請)。

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP