动态设置FragmentActivity+ViewPager+FragmentPagerAdapter结构中的fragment

来源:互联网 发布:电脑usb直连网络 编辑:程序博客网 时间:2024/04/28 01:58

在写一个视频播放应用时,需要根据用户的选择,动态展示不同(个数)的fragment,自然就想到了使用ViewPager的setAdapter动态设置FragmentPagerAdapter来切换, 结果发现不起作用,设置完后不走adapter的getItem()回调,要知道,新的fragment是在这里new出的。尝试调用mPagerAdapter.notifyDataSetChanged(),问题依然。

没找到其他好的方法,只好把原来的frament一一remove掉:

        private List<Fragment> mFragmentInstanceList;         FragmentVideoList fragment =  FragmentVideoList.newInstance();          mFragmentInstanceList.add(fragment);  //保存存量的fragment                ......                if (mViewPager.getAdapter() != null) {            FragmentManager fm = getSupportFragmentManager();            FragmentTransaction ft = fm.beginTransaction();            for(Fragment fragment:mFragmentInstanceList){                ft.remove(fragment);  //remove所有的fragment            }            ft.commit();        }                //重写构建adapter        mPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());        mViewPager.setAdapter(mPagerAdapter);         mTabPageIndicator.notifyDataSetChanged();


0 0
原创粉丝点击