![](/img/trans.png)
[英]How to display 2 different classes (activities) in a fragment in ANDROID?
[英]Android - how to return to different previous activities
我的應用程序中有幾個活動/頁面。 從第一個活動中,我可以打開第二個活動。 在此第二活動中,玩游戲。 游戲結束后,新的活動開始。 在該新活動中,我有一個使用finish()
完成該按鈕的按鈕,它使我回到游戲的活動中。 我還具有一個將其返回到第一個活動的按鈕。 這是一個說明圖:
當我使用finish()
返回游戲活動時,游戲處於結束狀態。 我想重置所有變量和小部件,但是我不知道如何通過在Final Activity中調用finish()
來檢查是否進入了此頁面。
問題1:如何檢查是否由於完成另一個活動而參加了一項活動?
我還有一個問題:在button2中,我可以使用什么方法不僅可以完成最終活動,還可以完成堆棧上的所有先前活動(除了第一個活動,因此在本例中將是“最終活動”和“游戲活動”),為了返回第一個活動? 在關於stackoverflow的其他答案中,我找到了使用FLAG_ACTIVITY_CLEAR_TOP
建議,但如果這樣做,我將無法再通過button1返回到Game Activity。
問題2:如何返回第一個活動,同時仍然允許我使用finish()
返回其他活動?
我用來返回上一活動的代碼:
// called from button1's onClick
public void goBack(View button1){
finish();
}
回到第一個活動:
public void toFirstActivity(View button2){
Intent previousPage = new Intent();
previousPage.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish();
}
問題1:如何檢查是否由於完成另一個活動而參加了一項活動?
您可以輕松地使用全局布爾標志,例如“ activityFinished”,當您在Final Activity上調用finish()時,將其設置為true。 並在您活動的onResume()中,檢查activityFinished == true,如果是,則將您的內容設置為false。
問題2:如何返回第一個活動,同時仍然允許我使用finish()返回其他活動?
我不明白為什么FLAG_ACTIVITY_CLEAR_TOP
對您來說是個問題。 您僅將意圖設置為FLAG_ACTIVITY_CLEAR_TOP
即可在按下按鈕2后返回到您的第一個活動,不是嗎? 這與按鈕1的動作有什么關系?
更新:嘗試此代碼
Intent a = new Intent(this,FirstActivity.class);
a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(a);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.