SupportRequestManagerFragment

SupportRequestManagerFragment

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/

10-09 07:38