2016-11-18 39 views
0

這裏重啓是活動導航堆棧: 活動A>活動B>活動Ç的Android活動,而不會干擾堆棧

活動C是web視圖中,每個用戶打開它時,我希望它重新打開,因爲它是所以用戶仍然可以看到之前在WebView中完成的操作。 所以這個活動開出信用證,旗FLAG_ACTIVITY_REORDER_TO_FRONT,並能夠重新打開它,我不想去完成它,所以活動C的onBackPressed已經改變,並與下面的代碼重新開始呼叫活動:

Intent intent = new Intent(this, Class.forName(callingActivity)); 
startActivity(intent); 

這是有效的(C可以重新開啓,之前已完成),但問題是當這樣做時,Activity C成爲堆棧中Activity B的父級,所以它在B和C之間循環,我不能返回到Activity - 答: C> B> C> B> C> B ...

任何想法如何我可以正確處理此導航?

+0

你如何試圖改變觀點,即不工作?用硬背按鈕? –

+0

是的,我總是回到後面的按鈕 – Sloosh

+0

你可以在你的活動中覆蓋onBackButton(),並直接指向你想要的Intente。你試過這個嗎? –

回答

-1

再次在Activity C上使用super.onBackpressed()。 您應該使用標誌FLAG_ACTIVITY_SINGLE_TOP而不是FLAG_ACTIVITY_REORDER_TO_FRONT,嘗試一下並告訴我它是否以滿意的方式工作。

如果你總是可以使用在onBackPressed意圖,以保證您導航到正確的活動

+0

它不是一個答案...這是一個評論... –

+0

對不起,我知道如何在這裏工作,但我需要信譽才能發表評論 –

+0

這不起作用,導航堆棧不會受到干擾,但活動C將作爲新的活動打開並丟失以前的內容。 – Sloosh