最近搞了一个查看图片的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;
}
}