簡體   English   中英

如何銷毀上一個活動,但在移動到下一個活動時不包括飛濺和家庭活動?

[英]How to destroy the previous activity but splash and home activity is not included when moving to the next activity?

我有 6 個開放的活動(見下圖)。

在此處輸入圖片說明

但我希望發生的是當用戶進入orderDetailsActivity它會破壞所有以前的活動,但不是splashActivityhomeActivity 在此處輸入圖片說明

所以用戶可以很容易地回到homeActivity 請注意,我想使用finish(); 僅當搬回homeActivity

在此處輸入圖片說明

注:用戶可以來回移動,從homeActivtycartActivitycheckoutActivity移動到另一個之后所以破壞這些活動是不可能的。

當您從Checkout Activity移動到Loading Activity您可以簡單地調用 finish() 來銷毀checkout activity

Loading Activity的 onBackPressed 中,您可以執行以下操作:

Intent intent = new Intent (Loading.this , Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.ACITIVTIY_SINGLE_TOP);
startActivity(intent);  
finish();

這會將您重定向到Home Activity (前一個實例),並將清除堆棧頂部的Home Activity 所以,你想要的就實現了!

有關更多信息: 了解任務和返回堆棧

更新:

如果您希望在Order Details Activity發生同樣的事情,您只需將代碼放在order details onBackPressed中:

Intent intent = new Intent (OrderDetails.this , Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.ACITIVTIY_SINGLE_TOP);
startActivity(intent);  
finish();

您可以使用完成()

在您的導航行中添加完成()

 Intent it = new Intent (currentActivity.this,MovingActivity.class);
 startActivity(it);
 finish();

以及哪些活動不想破壞您只添加的活動

 Intent it = new Intent (currentActivity.this,MovingActivity.class);
 startActivity(it);

暫無
暫無

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

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