使用ViewPager在滑动的时候出现如下异常:
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.get(ArrayList.java:308)
at android.support.v4.view.ViewPager.performDrag(ViewPager.java:2241)
at android.support.v4.view.ViewPager.onTouchEvent(ViewPager.java:2158)
......
可通过自定义ViewPager来解决,带码如下:
public class CustomViewPager extends ViewPager {
public boolean enabled = true;
public CustomViewPager(Context context) {
super(context);
}
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
if(this.enabled) {
if (getCurrentItem() == 0 && getChildCount() == 0) {
return false;
}
return super.onTouchEvent(ev);
} else {
return false;
}
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
if(this.enabled) {
if (getCurrentItem() == 0 && getChildCount() == 0) {
return false;
}
return super.onInterceptTouchEvent(ev);
} else {
return false;
}
}
}