Viewpager删除当前页面并跟新

xiaoxiao2021-02-27  98

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; } }

转载请注明原文地址: https://www.6miu.com/read-16169.html

最新回复(0)