- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
谁能告诉我 popBackStackImmediate
和 popBackStack
之间的区别?我真的不明白,另外 popBackStack
的第二个中的“标志”0(零)是什么意思?
非常感谢你们的帮助...
最佳答案
popBackStackImmediate()
将在调用中立即执行弹出命令。调用后可以立即验证其结果。它有点慢,因为所有弹出操作都是在调用中执行的。
popBackStack()
将在下一个事件循环周期(即下一个绘制阶段)内执行弹出命令。所以它与其余代码是异步的。这意味着 FragmentTransaction
将在执行后从后台堆栈中删除。在大多数情况下,您需要 FragmentTransaction
立即弹出,所以它会等到其他所有事情都完成后才真正发生。这一切发生得如此之快,以至于用户都认不出来。
最后的标志是无关的。目前只能设置为POP_BACK_STACK_INCLUSIVE . FragmentManager
允许您在 backstack 上设置一个 ID。如果你设置了这个标志,那么它将弹出与指定ID匹配的FragmentTransaction
,直到有一个与ID不匹配或到达底部。如果未设置该标志,则弹出所有与 ID 不匹配的 FragmentTransaction
,直到到达与 ID 匹配的一个或到达底部。
关于android - popBackStackImmediate 与 popBackStack 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44655586/
我正在创建一个锻炼列表,该列表使用 RecycleViewer 显示并使用 RecycleViewer Adapter 和 ViewHolder 填充。 RecycleViewer 包含在一个 fra
我坚持要恢复 fragment 的动画。我正在添加这样的 fragment A3Fragment a3Fragment = new A3Fragment(); FragmentTransaction
当我在我的手机上快速按下返回、返回、返回时,出现以下异常: java.lang.NullPointerException at android.app.FragmentManagerImpl.exec
我的后台上有fragmentA,屏幕上有fragmentB。我想用fragmentC 替换fragmentB,以便当用户按回时,我们返回到fragmentA。这就是我用fragmentC替换fragm
谁能告诉我 popBackStackImmediate 和 popBackStack 之间的区别?我真的不明白,另外 popBackStack 的第二个中的“标志”0(零)是什么意思? 非常感谢你们的
当序列中的所有 fragment 都添加到后台堆栈时,Popbackstack 工作正常,但当其中一个事务未添加到后台堆栈时,Popbackstack 无法正常工作。 这是我的导航: 1.替换 fra
我目前正在使用一个 ActionBarActivity 和多个 Fragments,例如 ListFragment 和 MapFragment,它们在单个 FrameLayout View 中交换。
有时执行 android.support.v4.app.FragmentManager#popBackStackImmediate() 会导致下一个异常: > Fatal Exception: jav
我的代码中有这一行: getChildFragmentManager().popBackstackImmediate(); 它有时可以工作,但经常会崩溃。这是堆栈跟踪: java.lang.NullP
我试图避免使用此方法将相同的 fragment 添加到 backStack: public static void replaceFragment(FragmentManager fragmentMa
我在 4 号 fragment 。在第 4 个 fragment View 上,当我单击取消按钮时,它会转到第 2 个 fragment 。但我使用 popBackStackImmediate 它在第
我是一名优秀的程序员,十分优秀!