Remove Fragment Page from ViewPager in Android

前端 未结 17 1362
庸人自扰
庸人自扰 2020-11-22 17:20

I\'m trying to dynamically add and remove Fragments from a ViewPager, adding works without any problems, but removing doesn\'t work as expected.

Everytime I want to

17条回答
  •  臣服心动
    2020-11-22 17:27

    I added a function "clearFragments" and I used that function to clear adapter before setting the new fragments. This calls the proper remove actions of Fragments. My pagerAdapter class:

    private class ChartPagerAdapter extends FragmentPagerAdapter{
        private ArrayList fragmentList;
    
        ChartPagerAdapter(FragmentManager fm){
            super(fm);
            fragmentList = new ArrayList<>();
        }
    
        void setFragments(ArrayList fragments){
            fragmentList.addAll(fragments);
        }
    
        void clearFragments(){
            for(Fragment fragment:fragmentList)
                getChildFragmentManager().beginTransaction().remove(fragment).commit();
            fragmentList.clear();
        }
    
        @Override
        public Fragment getItem(int i) {
            return fragmentList.get(i);
        }
    
        @Override
        public int getCount() {
            return fragmentList.size();
        }
    
    }
    

提交回复
热议问题