我是新來的Android。在這裏,我有活動A,B,C,d,其中A是家Activity.It在堆棧A-> B-> C-> d如何從一個特定的活動回到首頁活動沒有覆蓋後退按鈕
當我按下回從B或C應該去回到正常。但是,如果我按回到從d它應該回到A和從A應用程序應該退出
我是新來的Android。在這裏,我有活動A,B,C,d,其中A是家Activity.It在堆棧A-> B-> C-> d如何從一個特定的活動回到首頁活動沒有覆蓋後退按鈕
當我按下回從B或C應該去回到正常。但是,如果我按回到從d它應該回到A和從A應用程序應該退出
我想你可以攔截的onStop()和猜測,如果該活動是切換到C和推出來代替。但它會導致難以維持混亂,我不建議這樣做。
但是,如果由於某種原因,你還是不希望重寫onBackPressed
,你設法猜測d被停止,因爲背部被壓(無覆蓋onBackPressed()
,剛開始一個活動從那裏與FLAG_ACTIVITY_CLEAR_TOP一個Intent(叫我。 setFlags(FLAG_ACTIVITY_CLEAR_TOP))
據商務部:
如果設置,以及正在啓動的活動在目前的任務已經運行,然後,而不是推出該活動的一個新實例,所有的其他的活動將被關閉,這個意圖將交付作爲一種新的意圖,將(現在處於頂端)舊活動作爲一種新的意圖。
所以A將被帶回,B和C將被清除。
當您啓動新的活動結束舊的活動,例如,如果你想從b啓動C:
Intent I = new Intent(B.this , C.class) ;
startActivity (I);
B.this.finish();
但他不能從C到B當他按下按鈕 – Pragnani
我想從C導航回到B ...謝謝你的答覆。它現在的工作 –
爲什麼你不希望覆蓋的後退按鈕? – codeMagic
@codeMagic我想沒有別的選擇,只能覆蓋後退按鈕 – Pragnani
@Pragnani我同意,至少沒有什麼,不會是真正的哈克,如果可能的話。這就是爲什麼我不知道爲什麼OP不希望 – codeMagic