簡體   English   中英

按下“ BACK”(返回)按鈕時是否返回正常活動?

[英]Returning to the proper activity when pressing the BACK button?

我正在創建一個具有多個屏幕的應用程序,用戶將不得不瀏覽這些屏幕。 具體來說,我目前正在從事一系列必須鏈接在一起的活動,如下所示:

  • 主要活動->單擊按鈕會導致“ CreateCharacterActivity”->單擊按鈕會導致“ CharacterMainActivity”
  • “ CharacterMainActivity”上的BACK按鈕應返回MainActivity,而無需再次顯示CreateCharacterActivity。
  • 此行為在應用程序的其他區域應該類似,除了它應恢復暫停狀態之前“ BACK”按鈕導致的活動所處的狀態。

因此,為了簡化,我想要這樣。

  • 活動A->活動B->活動C
  • “返回”按鈕使活動C無需進行活動B即可返回活動A。

我嘗試這樣做:

@Override
public void onBackPressed() {
    super.onBackPressed();
    Intent intent = new Intent(this, MainActivity.class);
    startActivity(intent);
    finish();
}

但這只是調用MainActivity的新實例。 然后,在該MainActivity實例上按BACK時,它將帶我回到CharacterMainActivity。

我該如何實現? 我假設它涉及訪問活動堆棧?

從活動B移到活動C時,請在活動C上調用startActivity的同時調用finish() 。這將從任務堆棧中刪除活動B。

您可以為結果啟動子活動,然后使用相同的請求代碼完成結果的子活動。

要啟動子活動:

startActivityForResult (Intent intent, int requestCode)

完成所有兒童活動

finishActivity (int requestCode)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM