首页 > 代码库 > FragmentPagerAdapter的getItem()方法无法获取Fragment的解决方法

FragmentPagerAdapter的getItem()方法无法获取Fragment的解决方法

关于此问题,我搞了一个下午,都没有解决,得不到先前的Fragment,因为Fragment会不断释放资源。

最终脑袋一热,TND的解决了。就是在如下代码的时候,将Fragment存储在一个HashMap里面,代码如下:



Utils类的代码如下:


其中setFragmentFromPosition方法是保存Fragment;

removeFragment方法是将不需要的Fragment从HashMap中删除(此方法很重要,如果不调用,会因为HashMap而报内存溢出OutOfMemory);

findViewFromFragment方法,是获取保存到内存里面的Fragment。

此时大功告成!