Android Fragment add/replace以及backstack


無論Fragment以何種方式加入,都不會影響backstack,backstack由addToBackStack函數決定,只有調用了這個函數,才會將Fragment加入返回棧。這個說法其實不太准確,返回棧記錄的是Fragment切換的過程,所以加入返回棧的是Transaction,而不是Fragment本身。

那么add和replace的區別是什么呢?

以add方式加入Fragment,底層的Fragment被覆蓋,當按下返回鍵時,當前Fragment彈出返回棧,底層Fragment直接顯示出來,無需重建。

以replace方式加入Fragment,底層Fragment被替換(replace嘛),當按下返回鍵時,當前Fragment彈出返回棧,底層Fragment需要重建。然后再顯示出來。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM