天天看点

ViewPager 放PagerAdapter 的notifyDataSetChanged()

最近搞了一个查看图片的viewpager ,里面放的是pagerAdapter ,但是发现当删除 某个页面后调用notifyDataSetChanged() 界面没发生变化,后来搞了搞,发现要这么写PagerAdapter :

主要是destroyItem这个方法重写写错了。。应该这样:

@Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            View view = (View) object;
            container.removeView(view);
            view = null;
        }
           

完整的adapter 如下:

class PhotoAdapter extends PagerAdapter {
        private int mChildCount = ;

        @Override
        public int getCount() {
            if (viewList.size() >  && viewList != null) {
                return viewList.size();
            }
            return ;
        }

        @Override
        public boolean isViewFromObject(View view, Object object) {
            return view == object;
        }

        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            container.addView(viewList.get(position));
            return viewList.get(position);
        }

        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {

         //   container.removeView(viewList.get(position));
            View view = (View) object;
            container.removeView(view);
            view = null;
        }

    }
           

继续阅读