是什么导致 FragmentPagerAdapter 创建的片段在适配器调用 onDestroy 后仍然为 FragmentManager 所知?

What causes a fragment created by a FragmentPagerAdapter to still be known to FragmentManager after the adapter calls onDestroy?

我有一个标准的 FragmentPagerAdapter 子类,它实现了 getItem 和 getCount。适配器有 3 个项目,所以当到达第三个时,第一个项目的片段应该被销毁。

我已经验证了位置0调用了destroyItem。但是当我return到第1页时,在FragmentPagerAdapter的instantiateItem里面,mFragmentManager.findFragmentByTag(name);不为空。导致它重新附加片段。

我该如何更改它,以便在调用 destroyItem 时,它不会在 instantiateItem 中找到相同的片段?我希望创建一个新片段。

我发现这就是为什么它是 FragmentPagerAdapter 而不是 FragmentStatePagerAdapter。

呃!