[英]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();
}
將活動A
的launchMode
更改為singleTop
。 如文檔中所述:
如果活動的實例已經存在於目標任務的頂部,則系統通過調用其onNewIntent()方法將意圖路由到該實例,而不是創建活動的新實例。
現在,不必從A -> A1 -> A
轉到,而是只需finish()
活動A1
(或使用向上按鈕 ),這將使您返回到活動A
的實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.