activity.supportFragmentManager.popBackStackImmediate()
popBackStackImmediate 无法移除 Glide 的 SupportRequestManagerFragment,你知道为什么吗?还有其他方法可以从 fragment 堆栈中删除 SupportRequestManagerFragment 吗?
最佳答案
因为 Glide 的 Fragment 不在 FragmentManager 的操作 backstack 上。
见 code 。
pendingSupportRequestManagerFragments.put(fm, current);
fm.beginTransaction().add(current, FRAGMENT_TAG).commitAllowingStateLoss(); // <-- no addToBackStack() call
您可能也不应该在没有充分理由的情况下接触 Glide 的内部结构,但从技术上讲,您可以调用
fragmentManager.getFragments()
,检查是否为 null(它可以返回 null),迭代列表,检查 if(fragment instanceof SupportRequestManagerFragment)
,如果是,则使用 fragment 事务将其删除.但这似乎不是一个好主意。 ^_^关于Android popBackStackImmediate 无法移除 Glide 的 SupportRequestManagerFragment,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52143327/