更新时间:2022-09-20 20:11:25
无论Fragment以何种方式加入,都不会影响backstack,backstack由addToBackStack函数决定,只有调用了这个函数,才会将Fragment加入返回栈。这个说法其实不太准确,返回栈记录的是Fragment切换的过程,所以加入返回栈的是Transaction,而不是Fragment本身。
那么add和replace的区别是什么呢?
以add方式加入Fragment,底层的Fragment被覆盖,当按下返回键时,当前Fragment弹出返回栈,底层Fragment直接显示出来,无需重建。
以replace方式加入Fragment,底层Fragment被替换(replace嘛),当按下返回键时,当前Fragment弹出返回栈,底层Fragment需要重建。然后再显示出来。
本文转自zdd博客园博客,原文链接:http://www.cnblogs.com/graphics/p/5123590.html,如需转载请自行联系原作者
Android使用Fragment来实现ViewPager的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信
Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信
Android使用Fragment来实现ViewPager的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信
Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信
Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信
add 'tools:replace="android:value"' to element at AndroidManifest.xml:25:5-27:34 to over