记录一下Fragment连续跳转2次返回首页时第三个页面还显示的问题

有个需求是 “ A页面 ”跳转“ B页面 ”然后跳转“ C页面 ”。

在使用Fragment进行页面跳转的时候,第一次跳转(A->B)加.addToBackStack(null) ,第二次跳转(B->C)不加,然后点击返回按钮

期望状态是B、C消失,A出现

可是最终效果是返回到了A页面同时C页面还在,并没有被destroy,当进入另一个界面返回到A,这时候C会重新生成

原因:点击返回键只回滚了第一次跳转(A->B)加.addToBackStack(null) ,C页面没有影响,也不会重新生成。A重新跳转到其他页面变成(A、C->B) 加.addToBackStack(null) ,返回的时候会回滚A、C两个页面的状态

解决方案:B->C)加.addToBackStack(null)