我在ViewPager中有两个视图。我希望这样做,以便当垂直滚动事件发生时,它必须到达ViewPager内部的视图,以便子项可以采取相应的操作,但是当水平滚动发生时,viewPager必须停止事件,以便它们无法到达子项。我希望我的问题清楚。
我已经扩展了ViewPager并覆盖onInterceptTouchEvent方法,我必须检查条件,但我无法弄清楚如何做到这一点。我对android很新,所以如果我问一个天真的问题,请耐心等待。
有人可以帮我覆盖onInterceptTouchEvent方法。
以下是我的尝试:
public class CustomViewPager extends ViewPager
{
private GestureDetector mGestureDetector;
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
mGestureDetector = new GestureDetector(context, new YScrollDetector());
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
Log.e("LOG","Intercept");
boolean ans=super.onInterceptTouchEvent(ev);
if(mGestureDetector.onTouchEvent(ev))
return false;
return
}
//Now the GestureListener
public class YScrollDetector extends SimpleOnGestureListener {
public boolean onDown(MotionEvent e) {
Log.e("LOG","In down method");
return true;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
Log.e("LOG","On scroll called");
if(Math.abs(distanceY) > Math.abs(distanceX)) {
return true;
}
return false;
}
}
但问题是onScroll方法没有从onInterceptTouchEvent获得任何调用。有人可以帮我解决。