讓我們假設我有以下活動的順序:從歷史堆棧中刪除的活動
甲 - >乙 - 「ç - > d - >電子
,當我在E會從DI未來希望做一些操作,然後返回到d沒有堆棧保持對E ..所以,如果我有回d,然後按後退按鈕,我將返回到C不Ë
如何做到這一點???
讓我們假設我有以下活動的順序:從歷史堆棧中刪除的活動
甲 - >乙 - 「ç - > d - >電子
,當我在E會從DI未來希望做一些操作,然後返回到d沒有堆棧保持對E ..所以,如果我有回d,然後按後退按鈕,我將返回到C不Ë
如何做到這一點???
我不知道如果我完全理解這個
如果我回到d,然後按返回鍵,我將返回到C不Ë
但如果我做所有你要做的就是調用finish()
當您在大功告成那麼當你按下回D.如果這不是你所談論的,那麼請澄清你的問題是什麼,你將返回到d,然後到C。但是,當你finish()
和Activity
然後將其從堆棧中清除,所以你永遠不會,直到你再次啓動它返回到E。你永遠不會從d反正按後退按鈕
在其最基本的形式,Activities
在他們來。如果你離開一個方式放在堆棧上彼此的頂部,由打電話finish()
或按回去,然後它被刪除,你被帶到它之前(你來自哪裏)。還有更多,但這是發生的事情的基本。
我的意思是與後我從回E到D然後如果我按回,但我應該回到C ,,,在哪裏調用完成功能? –
當你在E完成時,你可以調用'finish()'。但是,如果你按下E鍵,它會做同樣的事情。如果你再按回D,你會回到C假設你還沒有清除掉堆棧 – codeMagic
不,我想通過使用Intent而不是按回退按鈕 –
而不是創建一個新的回頭的意圖,你應該調用this.finish();
關於你不再需要的活動,當用戶按下後退按鈕時,這將被「調用」,另外,如果你正在創建一個新的活動,並且希望在按下時跳過當前活動,您仍然可以撥打this.finish();
,然後您可以撥打電話this.startActivity(new Intent(this, ActivityName.class));
我覺得這是你怎麼做你的活動堆棧
甲 - >乙 - 「ç - > d - >電子 - > d(按意圖給E推出)。
現在你想從第二個D去到C.要做到這一點,在E中,在你啓動D後調用finish()
。這應該從堆棧中刪除E.
如果我理解正確你的問題。
你去到活動-E在A的序列,B,C,d,E 現在你會在活動-d時,你會按後退按鈕。 這裏的問題是:當你再次按後退按鈕,再次進入到活動-E,但你想要去的活動-C在這裏。
所以,你可以用它在動鄂
@Override
public void onBackPressed(){
finish() ; // ActivityE.this.finish()
super.onBackPressed() ;
}
onBackPressed按原樣刪除活動,不需要完成 –
如果你是在d按回去,回到C. – iTurki
我的意思是與後,我給E返回d那麼如果我按回,但我應該回到C –
你會回到C.這不是你想要的嗎? – codeMagic