上面那张图是智联的,大概就要这样一个效果
昨天想了半天,简单的实现了这个效果github-有图有真相思路是用一个List保存数量有限的Fragment,adapter的getCount返回Integer.MAX_VALUE但是感觉往里传值的时候太麻烦了
请问各位有没有合适的方法实现这个效果
https://github.com/qmr777/Rec...插不了图片了。。。上面是我的实现
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
これはViewPager + Fragmentの無限スライディング機能を実現したいだけではないでしょうか。もちろん、値は複数の Fragment に渡される必要がありますが、1 つの Fragment に最適化できた方が良いでしょう。
ViewPager + Fragment
Fragment
上の階の正解は、実際には viewPager です。fragmentStatePagerAdapter を記述してそこにリストを置くだけで、保存されるフラグメントの数を制御し、新しいフラグメントを作成できます。
これは以前に実行したことがあり、実装方法は ViewPager+Fragment です。実際の内容と一部の詳細はアプリケーションのロジックに依存します。
ViewPager
私のアプローチは次のとおりです:
f1、f2、f3 という 3 つのフラグメントがあるとします。ViewPager の PagerAdapter を初期化すると、合計 5 つのフラグメントが返されます。順序は f3、f1、f2、f3、f1 です。デフォルトの currentItem は 1、つまり f1 です。 次に、ViewPager.OnPageChangeListener をカスタマイズします。onPageScrollStateChanged メソッドで、状態が IDLE (停止時) の場合、現在の currentItem が 0 の場合、setCurrentItem(4, false) を使用します。 4 の場合は、setCurrentItem(1, false) を使用します。
賢い学生なら全員、私の実装ロジックを理解できると信じています。
これは
ViewPager + Fragment
の無限スライディング機能を実現したいだけではないでしょうか。もちろん、値は複数のFragment
に渡される必要がありますが、1 つのFragment
に最適化できた方が良いでしょう。上の階の正解は、実際には viewPager です。fragmentStatePagerAdapter を記述してそこにリストを置くだけで、保存されるフラグメントの数を制御し、新しいフラグメントを作成できます。
これは以前に実行したことがあり、実装方法は
ViewPager
+Fragment
です。実際の内容と一部の詳細はアプリケーションのロジックに依存します。私のアプローチは次のとおりです:
f1、f2、f3 という 3 つのフラグメントがあるとします。ViewPager の PagerAdapter を初期化すると、合計 5 つのフラグメントが返されます。順序は f3、f1、f2、f3、f1 です。デフォルトの currentItem は 1、つまり f1 です。
次に、ViewPager.OnPageChangeListener をカスタマイズします。onPageScrollStateChanged メソッドで、状態が IDLE (停止時) の場合、現在の currentItem が 0 の場合、setCurrentItem(4, false) を使用します。 4 の場合は、setCurrentItem(1, false) を使用します。
賢い学生なら全員、私の実装ロジックを理解できると信じています。