ViewPager在使用时候需要用到适配器,通常使用的是PagerAdapter
其中,我一直不明白pageradapter中重写的instantiateItem()方法和destroyItem()方法中的position的数值
今天在写项目时打印了log日志
11-18 11:11:01.467 23063-23063/? I/TAG: instantiateItem: 0
11-18 11:11:01.467 23063-23063/? I/TAG: instantiateItem: 1
11-18 11:11:05.921 23063-23063/? I/TAG: instantiateItem: 2
11-18 11:11:07.857 23063-23063/? I/TAG: destroyItem: 0
//加入一个新的view @Override public Object instantiateItem(ViewGroup container, int position) { container.addView(imageViewList.get(position)); Log.i("TAG", "instantiateItem: "+position); return imageViewList.get(position); } //移除view @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(imageViewList.get(position)); Log.i("TAG", "destroyItem: "+position); }
由log日志可以看出来
这两个方法所穿的position不是同一个position
viewpager存在预加载