Fragment 出栈的方法popBackStack

简介: Fragment 出栈的方法popBackStack

Fragment弹出回退栈的方法有以下:


void popBackStack()


弹出堆栈中的一个并且显示,类似按下返回键的操作;


popBackStack(String tag,int flags)


tag可以为null或者相对应的tag,flags只有0和1(POP_BACK_STACK_INCLUSIVE)两种情况


如果tag为null,flags为0时,弹出回退栈中最上层的那个fragment。


如果tag为null ,flags为1时,弹出回退栈中所有fragment。


如果tag不为null,那就会找到这个tag所对应的fragment,flags为0时,弹出该

fragment以上的Fragment,如果是1,弹出该fragment(包括该fragment)以

上的fragment。


popBackStack(int id,int flags)


与popBackStack(String tag,int flags)类似,找到id代表的fragment,然后执行一样的操作


popBackStackImmediate(int id, int flags)


popBackStackImmediate(String name, int flags)


popBackStackImmediate()


这几个方法类似以上的方法,只不过这几个在内部调用时会立即弹出

重要的东西来了!!!!


很多时候我们都以为fragment入栈后,譬如 依次入栈 fragment A ,B ,C ,D,

然后弹出B fragment,在回退栈里并不是我们想象的只剩下 D C A ,而是D C null

A,所以使用FragmentManager.getFragments(),然后拿List< Fragment >里的

对象时特别要注意判空。


如下图:

目录
相关文章
singleTop和singleTask有什么区别
singleTop和singleTask有什么区别
592 0
|
SQL 数据库连接 数据库
03-Activity代码实现
Activity简单DEMO代码实现
107 0
|
Java 程序员 Shell
singleTop启动模式真的可以防止多次打开栈顶的Activity么?
开发过程中我们经常会遇到各式各样的bug,比如说测试小姐姐告诉我们,由于无操作,某个按钮她`快速点击了两次`(或者由于卡顿之类的延迟),`打开了两个详情页`,希望把这个`禁止掉`,只让打开一个详情页。
RecyclerView.notifyItemRemoved导致的数组下标越界问题
我们一般在RecyclerView列表中移除某条Item时会调用 notifyItemRemoved 方法,其还附带了相应的移除特效。
185 0
|
Android开发
【Android 逆向】x86 汇编 ( push / pop 入栈 / 出栈 指令 | ret / retn 函数调用返回指令 | set 设置目标值指令 )
【Android 逆向】x86 汇编 ( push / pop 入栈 / 出栈 指令 | ret / retn 函数调用返回指令 | set 设置目标值指令 )
343 0
Activity启动模式&Task栈
在AMS中,ActivityRecord对应一个Activity,TaskRecord对应一个Task,每个TaskRecord中保存了若干ActivityRecord,TaskRecord由taskId标识,通过getTaskId()可以获取Activity所属的Task。
1038 0
addTextChangedListener在fragment中多次执行问题
文章同步发布到CSDN:http://blog.csdn.net/ling9400/article/details/60323283 转载请注明出处:http://blog.
1122 0
Activity往另外一个Activity传值,Fragment获取另外一个Activity里面的值。
在oneActivity中实现跳转到MainActivity        //intent 用来跳转另外一个MainActivity,bundle传值到MainActivity         Intent MainActivity = new Intent();         MainActivity .
1277 0