簡體   English   中英

如何在Android中管理Activity實例

[英]How to manage Activity instances in Android

我有一個初始活動O和另一個活動A在其中我可以選擇進入活動A1,A2,A3 ,例如在每個活動中填寫一個表格。 所以我走這條路:

O> A> A1> A> A2> A> A3

當我在A3時,我想按后退按鈕並再次轉到O ,但是我將必須從A的每個實例傳遞(假設我使用finish()或清單A1,A2,A3 no history A1,A2,A3因此它們將不會出現在堆棧中)

我如何聲明A在堆棧中只有一個實例(最后一個),因此如果我按兩次后退按鈕,我將再次轉到O

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

將活動AlaunchMode更改為singleTop 如文檔中所述:

如果活動的實例已經存在於目標任務的頂部,則系統通過調用其onNewIntent()方法將意圖路由到該實例,而不是創建活動的新實例。

現在,不必從A -> A1 -> A轉到,而是只需finish()活動A1 (或使用向上按鈕 ),這將使您返回到活動A的實例。

暫無
暫無

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

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