1. 程式人生 > >FragmentPagerAdaptrer使用中注意點

FragmentPagerAdaptrer使用中注意點

第一:

當我們用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。