android - 请问下Fragment 除了 popBackStack()还有什么方法可以关闭吗?

【字号: 日期:2022-10-31浏览:38作者:雯心

问题描述

除了popBackStack() 以及popBackStackImmediate() 还有什么方法可以指定关闭manager内的fragment呢?

用fragment 来管理界面,碰到一个问题,我从A界面打开 B 界面,然后B界面打开了界面C, 这时候我需要从C界面直接回到A界面,

开始的时候尝试在打开界面C的时候先popBackStack() ,但是抛出了异常

。。打字的时候突然想到了,可以直接使用 popBackStack(A的Tag,0)来直接移除B 和C。不过还是想请问下还有别的办法可以管理它们吗?

还有想问一下popBackStackImmediate() 有可能会不被执行吗?

manager.popBackStackImmediate(tag, 1);//不会被执行? manager.popBackStack(tag, 1); //会被执行?

问题解答

回答1:

题主没有认真读API文档, 读文档前, 装好Google翻译

popBackStack()这样的函数都是跟后退栈有关的调用, Fragment可以不需要push到后退栈里, 如果需要响应回退的按键, 那就需要管理Fragment的后退栈.

可以参考如下几个类是如何管理Fragment的:

FragmentPagerAdapter

FragmentStatePagerAdapter

回答2:

如果在activity,你可以使用add show hide等一系列getSupportFragmentManager提供的方法了来来管理你的frgament

相关文章: