Android popBackStackImmediate 无法移除 Glide 的 SupportRequestManagerFragment
Android popBackStackImmediate can not remove Glide's SupportRequestManagerFragment
activity.supportFragmentManager.popBackStackImmediate()
popBackStackImmediate无法移除Glide的SupportRequestManagerFragment,你知道为什么吗?还有其他方法可以从片段堆栈中删除 SupportRequestManagerFragment 吗?
此案例片段使用 Activity 上下文而不是 Glide 的片段上下文。
Glide.with(getActivity()).load("url").into(imageView)
更多详情参考Here
如果 SupportRequestManagerFragment 被添加到您的应用程序片段堆栈的 backstack 条目中,则在片段内部使用基本上下文调用 Glide 方法,因此它不会被添加并为后退创建问题..
Glide.with(this.getActivity().getBaseContext()).load("url").into(imageView)
因为Glide的Fragment不在FragmentManager的操作backstack上
见code。
pendingSupportRequestManagerFragments.put(fm, current);
fm.beginTransaction().add(current, FRAGMENT_TAG).commitAllowingStateLoss(); // <-- no addToBackStack() call
如果没有充分的理由,您可能也不应该接触 Glide 的内部结构,但从技术上讲,您可以调用 fragmentManager.getFragments()
,检查 null(它可以 return null),迭代列表,检查if(fragment instanceof SupportRequestManagerFragment)
,如果是,则用分片交易移除。但这似乎不是一个好主意。 ^_^
activity.supportFragmentManager.popBackStackImmediate()
popBackStackImmediate无法移除Glide的SupportRequestManagerFragment,你知道为什么吗?还有其他方法可以从片段堆栈中删除 SupportRequestManagerFragment 吗?
此案例片段使用 Activity 上下文而不是 Glide 的片段上下文。
Glide.with(getActivity()).load("url").into(imageView)
更多详情参考Here
如果 SupportRequestManagerFragment 被添加到您的应用程序片段堆栈的 backstack 条目中,则在片段内部使用基本上下文调用 Glide 方法,因此它不会被添加并为后退创建问题..
Glide.with(this.getActivity().getBaseContext()).load("url").into(imageView)
因为Glide的Fragment不在FragmentManager的操作backstack上
见code。
pendingSupportRequestManagerFragments.put(fm, current);
fm.beginTransaction().add(current, FRAGMENT_TAG).commitAllowingStateLoss(); // <-- no addToBackStack() call
如果没有充分的理由,您可能也不应该接触 Glide 的内部结构,但从技术上讲,您可以调用 fragmentManager.getFragments()
,检查 null(它可以 return null),迭代列表,检查if(fragment instanceof SupportRequestManagerFragment)
,如果是,则用分片交易移除。但这似乎不是一个好主意。 ^_^