在开发当中有时候我们会遇到ViewPager中嵌套ViewPager的问题,不用想也知道这样会有冲突,那么如何解决呢,我的思路就是去禁止父控件的ViewPager滑动来解决冲突的问题。
实现:重写ViewPager,覆盖 onTouchEvent 和 onInterceptTouchEvent 方法,使其返回false,这样就等于禁止了ViewPager上的滑动事件。
代码:
public class NoScrollviewpager extends ViewPager { public NoScrollviewpager(Context context) { super(context); } public NoScrollviewpager(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean onTouchEvent(MotionEvent ev) { return false; } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { return false; } }