複数のアイテムを表示する ViewPager があります。複数のアイテムを 1 つのフラグメントに配置するソリューションを使用し、画面の幅に基づいてフラグメントごとに配置できるアイテムの数を計算するアダプターを作成しました。
FragmentPagerAdapter の getItem は、各フラグメントのアイテムの量を分割して、各フラグメントのアイテムの範囲を作成します。
たとえば、12 個のアイテムがあり、縦方向では 3 個のアイテムを配置できます。getItem は、0 ~ 2、3 ~ 5、6 ~ 8、および 9 ~ 11 の範囲のフラグメントを作成します。横向きだと画面の幅が広いので、例えば5つくらい置けます。したがって、範囲は 0 ~ 4、5 ~ 8、および 9 ~ 11 になります。
この要件により、新しいフラグメントを作成し、方向の変更時に古いフラグメントを破棄する必要があります。
ソリューションを作成しましたが、Activity の isChangingConfigurations() メソッドに依存します。ただし、このメソッドは API レベル 11 以降にのみ存在します。だから使えない。
基本的に、私は Fragment がその状態を保存することを許可しておらず、構成が変更されている場合は onPause で削除しています。しかし、古い Android バージョンにはこのメソッドがないため、別の解決策が必要です。
誰でも私を助けることができますか?