簡體   English   中英

將當前片段添加到后台:Android

[英]Add current fragment to backstack: Android

我在活動中添加一個片段,片段A。現在從該片段中轉到其他各個片段,每當轉到這些片段時,我都將替換片段A。

但是只有一種情況,當我想要從片段A到片段Z時,我將片段A添加到后堆棧中。 因此,基本上,對於片段A的所有點擊(將用戶帶到其他片段(通過替換片段A)),只有單擊位置,我要將片段A放回堆棧中,這就像我從這個新的片段Z,我不希望活動結束,而是希望片段A重新出現。

現在,執行此操作的一種骯臟方法是執行以下操作:

@Override
public void onBackPressed() {

    if ( getFragmentManager().findFragmentByTag(FragmentZ.class.toString()) == null){
        super.onBackPressed();
    }
    else {
        //i would add fragment A over here.
    }
}

但是我在想,如果我可以在進入片段Z之前將片段A添加到后堆棧中,那么我就不必照顧上面​​的內容。

可以請一些幫助我嗎?

將片段A添加到后堆棧的唯一方法是在提交將片段A替換為片段Z的事務之前。

在已經添加了片段Z之后,您將無法再添加它。

在插入片段Z的事務上調用commit()之前,在事務上調用addToBackStack(null)

然后,您將不必重寫onBackPressed()

暫無
暫無

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

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