我这里有一个棘手的情况。我有两个 ScrollView ,一个在另一个下面。正如预期的那样,最上面的那个得到了事件。我想要实现的是,当最上面的那个到达终点时,我想在一个平滑的过渡中将事件传递给底层的 ScrollView 。我试过的是这样的:
scrollview1.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (enable) {
return scrollview2.onTouchEvent(event);
} else {
return false;
}
}
});
但是似乎不起作用,并给出指针超出范围的异常。
05-16 16:10:22.436: E/AndroidRuntime(22038): FATAL EXCEPTION: main
05-16 16:10:22.436: E/AndroidRuntime(22038): java.lang.IllegalArgumentException: pointerIndex out of range
05-16 16:10:22.436: E/AndroidRuntime(22038): at android.view.MotionEvent.nativeGetAxisValue(Native Method)
05-16 16:10:22.436: E/AndroidRuntime(22038): at android.view.MotionEvent.getY(MotionEvent.java:2090)
05-16 16:10:22.436: E/AndroidRuntime(22038): at android.widget.ScrollView.onTouchEvent(ScrollView.java:848)
最佳答案
您应该改用 scrollview2.dispatchTouchEvent(event)
关于android - 将 motionEvent 从一个 scrollView 传递到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16585406/