需要有这样的一个ViewPager,总共有三页,其中的某个页面可以删除和增加,最多为三页,最少为 1页,来实现一下:
实现可以删除的 ViewPager,有两种方案(数据源用LinkedList)
1,第一种
viewPager.removeAllViews();
list.remove...;
adapter.notifyDataSetChanged();
但是这种在和竖直滚动条 组合的时候会有问题,由于viewPager的机制是把当前view以及身侧的两个给 add进ViewGroup中,如果调用removeAllView,在 notifyDataSetChanged,会 把有竖直滚动条的view remove然后add,就会出现 Thumb 和 progress不对应的问题,图片 见本系列文章1
2,第二种
list.remove...;
adapter.notifyDataSetChanged();
但是这种也会有问题,即比如你删除了第一页,然后你会蛋疼的发现,第一页确实是消失了,viewPager中剩下了两页,但是第一页的内容和第二页内容重叠 显示在第二页,所以 需要设置第一页内容为 GONE,,