0

我想知道在这种情况下使用回收功能是否有意义:ViewPager,其中每个页面都是一个带有 GridView 的片段,它适合页面(所有项目都是可见的,没有滚动)。

问题的原因是我想在 2 个不同(相似)的 XML 之间切换以膨胀网格视图中的项目。而且,使用回收,这可能是不可能的。但我认为在这种情况下不需要回收。

编辑:为了清楚起见,我的意思是回收网格项目。有关视图寻呼机的信息只是给出使用它们的上下文。对于回收,我的意思是在方法 getView 中使用 convertView 进行回收。if (convertView) == null {inflate}等等

4

1 回答 1

0

使用 ViewPager 时,您实现了 PagerAdapter。在这种情况下,由于您想使用片段,您将扩展 FragmentStatePagerAdapter。我将实现抽象的方法(尽管查看 FragmentStatePagerAdapter 的源代码,可能还有一些方法需要重写,因为不受支持的异常,如destroyItem)并将其保留。让 PagerAdapter 担心回收视图,这是它的工作。

除非存在性能问题(例如您在每个页面中加载大量图像),否则我不会考虑自己回收视图。如果您确实达到了这一点,您还需要考虑 destroyItem() 会起作用。

于 2012-07-14T13:14:27.207 回答