下面是网上的一段代码
mPager.setOnTouchListener(new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
int[] location = new int[2];
gallery.getLocationOnScreen(location);
if (location[0] != 0)
{
return false;
}
if (event.getRawY() > location[1] && event.getRawY() - location[1] < gallery.getHeight())
{
return gallery.dispatchTouchEvent(event);
}
return false;
}
});
不过,可以监听到,但是会报错,
java.lang.ArrayIndexOutOfBoundsException
at android.view.MotionEvent.getX(MotionEvent.java:889)
at android.support.v4.view.MotionEventCompatEclair.getX(MotionEventCompatEclair.java:32)
at android.support.v4.view.MotionEventCompat$EclairMotionEventVersionImpl.getX(MotionEventCompat.java:86)
at android.support.v4.view.MotionEventCompat.getX(MotionEventCompat.java:184)
at android.support.v4.view.ViewPager.onTouchEvent(ViewPager.java:1462)
at android.view.View.dispatchTouchEvent(View.java:3886)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:909)
09-17 14:59:57.530: E/AndroidRuntime(20281): at demo.viewpager.MainActivity$5.onTouch(MainActivity.java:273)