簡體   English   中英

如何在開始另一個活動之前將活動綜合添加到后台堆棧?

[英]How to synthetically add activity to back stack before starting another one?

假設我在活動 A 中。我想開始活動 B,但我希望用戶在按下活動 B 時被帶到活動 C。

所以即使用戶看到 A -> B,我也希望它是 A -> C -> B。

我知道我可以使用TaskStackBuilder並綜合創建 ABC 堆棧。 然而,有時 A 不僅僅是一項活動; 可能有一些用戶以前做過的導航,我不想丟失,用TaskStackBuilder綜合重新創建會很麻煩。

有沒有辦法使用TaskStackBuilder保持當前的返回堆棧? 或者有沒有其他方法可以在開始另一個活動之前將一個活動綜合添加到后台堆棧中?

您可以做的是覆蓋 Activity B onBackPressed() ,您將從那里啟動活動C並完成活動B 從用戶的角度,他將看到:

A -> B -> (back press event) -> C

在后台:

A -> AB -> AC

@Override
public void onBackPressed() {
    super.onBackPressed();

    Intent intent = new Intent(this, ActivityC.class);
    startActivity(intent);
    finish();
}

暫無
暫無

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

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