1.viewpager直接使用调用notifyDataSetChanged()并不能实现删除当前页面并更新,
需要pagerAdapter复写getItemPosition并返回POSITION_NONE;
2.到这已经可以实现删除当前界面并更新,但是还是会出现indexoutofBoundsException
的错误,需要把ViewGroup强转ViewPager并且objec强转为view。
3示例:
public class NotePicturePagerAdapter extends PagerAdapter { ArrayList<View>viewList; public NotePicturePagerAdapter(ArrayList<View>viewList){ this.viewList=viewList; } @Override public int getCount() { return viewList.size(); } @Override public boolean isViewFromObject(View view, Object object) { return view== (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) { ((ViewPager)container).removeView( (View) object); } @Override public int getItemPosition(Object object) { return POSITION_NONE; } }