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 に答える