FragmentPagerAdaptrer使用中注意點
阿新 • • 發佈:2019-02-01
第一:
當我們用ViewPager+Fragment實現的時候,如果Fragment的數量超過了2個,需要重寫下面這個方法,並註釋掉super,否則當我們來回滑動的時候會發現頁面一個個的都消失了
@Override public void destroyItem(ViewGroup container, int position, Object object) { // super.destroyItem(container, position, object); }第二:
如果是這種情況,上面這種情況的前提下,某個Fragment中又包含了若干的Fragment,並且也是用ViewPager+Fragment實現的話,就應該按照下面這樣
viewPager.setAdapter(new FragmentPagerAdapter(getChildFragmentManager()) { @Override public Fragment getItem(int position) { return fragments.get(position); } @Override public int getCount() { return fragments.size(); } });上面的程式碼和第一種情況下的寫法唯一不同的就是,FragmentPagerAdapter(getChildFragmentManager())而非getSupportFragmentManager(),也就是需要用當前父級Fragment的Manager而非activity的Manager。