2013-04-01 41 views
0

我是新來的Android。在這裏,我有活動A,B,C,d,其中A是家Activity.It在堆棧A-> B-> C-> d如何從一個特定的活動回到首頁活動沒有覆蓋後退按鈕

當我按下回從B或C應該去回到正常。但是,如果我按回到從d它應該回到A和從A應用程序應該退出

+1

爲什麼你不希望覆蓋的後退按鈕? – codeMagic

+1

@codeMagic我想沒有別的選擇,只能覆蓋後退按鈕 – Pragnani

+0

@Pragnani我同意,至少沒有什麼,不會是真正的哈克,如果可能的話。這就是爲什麼我不知道爲什麼OP不希望 – codeMagic

回答

1

我想你可以攔截的onStop()和猜測,如果該活動是切換到C和推出來代替。但它會導致難以維持混亂,我不建議這樣做。

但是,如果由於某種原因,你還是不希望重寫onBackPressed,你設法猜測d被停止,因爲背部被壓(無覆蓋onBackPressed(),剛開始一個活動從那裏與FLAG_ACTIVITY_CLEAR_TOP一個Intent(叫我。 setFlags(FLAG_ACTIVITY_CLEAR_TOP))

據商務部:

如果設置,以及正在啓動的活動在目前的任務已經運行,然後,而不是推出該活動的一個新實例,所有的其他的活動將被關閉,這個意圖將交付作爲一種新的意圖,將(現在處於頂端)舊活動作爲一種新的意圖。

所以A將被帶回,B和C將被清除。

+0

重寫後退按鈕是選項,但他不想這樣做。 – Pragnani

+0

你說得對。改變我的回覆。謝謝。 – fedepaol

+0

謝謝!......現在我認爲除了覆蓋後退按鈕之外,沒有別的辦法了...它正在工作。再次感謝@fedepaol –

-1

當您啓動新的活動結束舊的活動,例如,如果你想從b啓動C:

Intent I = new Intent(B.this , C.class) ; 
startActivity (I); 
B.this.finish(); 
+0

但他不能從C到B當他按下按鈕 – Pragnani

+1

我想從C導航回到B ...謝謝你的答覆。它現在的工作 –

相關問題