addToBackStack方法的使用
addToBackStack()
1、Fragment的addToBackStack()方法
Activity切换时是通过栈的形式,不断压栈出栈,在Fragment的时候,如果你不是手动开启回退栈,它是直接销毁再重建,但如果将Fragment任务添加到回退栈,情况就会不一样了,它就有了类似Activity的栈管理方式。
使用Fragment时,可以通过用户交互来执行一些动作,比如增加、移除、替换等。所有这些改变构成一个集合,这个集合被叫做一个transaction。
可以调用FragmentTransaction中的方法来处理这个transaction,并且可以将transaction存进由activity管理的back stack中,当用户按返回键时,就会自动回到上一个fragment的状态。和Activity一样的使用体验
据官方文档介绍,addToBackStack()方法的作用:当移除或替换一个Fragment并向返回栈添加事务时,系统会停止(而非销毁)移除的Fragment。
- 如果用户执行回退操作进行Fragment的恢复,该Fragment将重新启动。
- 如果不向返回栈添加事务,则系统会在移除或替换Fragment时将其销毁。
如下为使用addToBackStack()方法的方式。
addToBackStack()
的工作示意图
2、具体使用
参考
1、https://blog.csdn.net/u011394071/article/details/53572331