2

在我的android應用程序中,我首先搜索一個咖啡館。當用戶選擇一個咖啡廳的下一個活動將顯示更多關於它的細節。然後用戶可以查看咖啡館的地圖。當用戶點擊完成按鈕時,我需要將用戶重定向到第一個活動的搜索結果。那我該怎麼做?調用finish()方法只會關閉當前的活動。如何返回到Android的第三個活動?

在此先感謝!

回答

11

,你繼續,你可以使用在每一個活動結束(),也可以使用該標誌FLAG_ACTIVITY_CLEAR_TOP開始你的第一個活動,它會清除您的第一個活動的所有頂級的活動,它會帶給你的第一個活動上top.Use這樣的:

Intent intent = new Intent(this, yourFirstActivity.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 
0
Intent.FLAG_ACTIVITY_CLEAR_TOP 

清除除你的第一個活動以外的所有內容,這應該工作得很好。

根據Android Application Developer Forum你應該通過以下方式開展這項活動: -

startActivity(intent); 
0

爲了使用戶仍然可以恢復到以前的活動B中的一個不應該使用Intent.FLAG_ACTIVITY_CLEAR_TOP

相反活動B應該使用startActivityForResult(... C ...) 同樣的活動B應該使用onActivityResult()檢查結果,並在活動C中單擊完成時完成。但是如果僅在活動C中單擊返回那麼活動B將正常顯示。

2
//DOES NOT FINISH ALL ACTIVITY 

Intent intent=new Intent(); 
intent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT); 


//FINISH ALL ACTIVITY WHICH IS IN STACK ABOVE TARGET ACTIVITY 

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
+2

請記住,一旦您使用了CLEAR TOP,您就無法重新啓動所有在其上的活動。謝謝 – SALMAN

相關問題