[英]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.