本文主要介紹ViewPager FragmentPagerAdapter中Fragment緩存的規則。
可能需要在一個Activity中顯示多個ViewPager,如GridView或ListView中以ViewPager做Item。
在Fragment的onCreateView函數中添加斷點,結果發現隻有第一個ViewPager的Fragment被初始化了。
從上紅圈标記的地方可以看出查找Fragment的規則,其中container.getId為ViewPager父View的id,position為fragment的位置。
針對上面的makeFragmentName規則,我們有兩種解決方法:
1、自己複制FragmentPagerAdapter中的内容,重寫一個PagerAdapter,修改其中的makeFragmentname規則,推薦使用此種方法。
2、改變上面container.getId,即ViewPager父View的idcontainerId。不過這種方式隻是用于ViewPager較少的情況,否則複制很惡心的。。。