ViewPager Fragment 动态刷新

开始使用的时候  fragment的动态删除刷新总有问题

。后来请教得知 

PagerAdapter的 notifyDataSetChanged() 需要继承 FragmentStatePagerAdapter 才可以

另外还需要重写 getItemPosition 方法

 

PagerAdapter

 public class TabFragmentPagerAdapter extends FragmentStatePagerAdapter {

        private FragmentManager mfragmentManager;


        public TabFragmentPagerAdapter(FragmentManager fm) {
            super(fm);
        }

//
        @Override
        public int getItemPosition(@NonNull Object object) {
            return PagerAdapter.POSITION_NONE;
        }

        @Override

        public Fragment getItem(int arg0) {
            return list_fragment.get(arg0);//显示第几个页面
        }



        @Override

        public int getCount() {
            return list_fragment.size();//有几个页面
        }

    }

viewpager 监听

  public class MyPagerChangeListener implements ViewPager.OnPageChangeListener {

        @Override
        public void onPageScrollStateChanged(int arg0) {
        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {

        }

        @Override
        public void onPageSelected(int arg0) {
//        setMyViewPager(arg0);//初始化tob
            pos_now=arg0;
        }
    }

添加fragment到 viewpager

myViewPager.setOnPageChangeListener(new MyPagerChangeListener()); //把Fragment添加到List集合里面
list_fragment = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
    ItmeFragment_ErrorSubject itmeFragment = new ItmeFragment_ErrorSubject();
    Bundle bundle = new Bundle();
    bundle.putInt("pos", i);
    itmeFragment.setArguments(bundle);
    list_fragment.add(itmeFragment);
}
adapter = new TabFragmentPagerAdapter(getSupportFragmentManager());
myViewPager.setAdapter(adapter);

刷新处理

list.remove(pos_now);
list_fragment.remove(pos_now);
tvTotal.setText(list.size() + "");
adapter.notifyDataSetChanged();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值