是什么导致 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。
呃!
我有一个标准的 FragmentPagerAdapter 子类,它实现了 getItem 和 getCount。适配器有 3 个项目,所以当到达第三个时,第一个项目的片段应该被销毁。
我已经验证了位置0调用了destroyItem。但是当我return到第1页时,在FragmentPagerAdapter的instantiateItem里面,mFragmentManager.findFragmentByTag(name);
不为空。导致它重新附加片段。
我该如何更改它,以便在调用 destroyItem 时,它不会在 instantiateItem 中找到相同的片段?我希望创建一个新片段。
我发现这就是为什么它是 FragmentPagerAdapter 而不是 FragmentStatePagerAdapter。
呃!