Android FragmentPagerAdapter数据刷新notifyDataSetChanged没效果研究或不执行OnCreatView方法导致界面不刷新

解决代码:

class MyFragmentPagerAdapter extends FragmentStatePagerAdapter {
        private ArrayList<Fragment> mFragments;
        private FragmentManager fm;
        public MyFragmentPagerAdapter(FragmentManager fm,ArrayList<Fragment> fragments) {
            super(fm);
            this.mFragments = fragments;
            this.fm = fm;
        }

        @Override
        public Fragment getItem(int position) {
            return mFragments.get(position);
        }

        @Override
        public int getCount() {
            return mFragments.size();
        }

        public void setFragments(ArrayList<Fragment> fragments) {
            if(this.mFragments != null){
                FragmentTransaction ft = fm.beginTransaction();
                for(Fragment f:this.mFragments){
                    ft.remove(f);
                }
                ft.commit();
                ft=null;
                fm.executePendingTransactions();
            }
            this.mFragments = fragments;
            notifyDataSetChanged();
        }

        @Override
        public int getItemPosition(Object object) {
            return POSITION_NONE;
        }

    }

注:POSITION_NONE为-1

转自:https://blog.csdn.net/jiang547860818/article/details/54380055

猜你喜欢

转载自blog.csdn.net/yonghuming_jesse/article/details/80361233