Android 将motionEvent从一个滚动视图传递到另一个滚动视图
我这里有个棘手的情况。我有两个滚动视图,一个在另一个下面。正如预期的那样,最上面的人得到了事件。我想要实现的是,当顶部的一个到达末尾时,我希望通过一个平滑的转换将事件传递给底层的scrollview。我尝试的是:Android 将motionEvent从一个滚动视图传递到另一个滚动视图,android,scroll,scrollview,android-scrollview,Android,Scroll,Scrollview,Android Scrollview,我这里有个棘手的情况。我有两个滚动视图,一个在另一个下面。正如预期的那样,最上面的人得到了事件。我想要实现的是,当顶部的一个到达末尾时,我希望通过一个平滑的转换将事件传递给底层的scrollview。我尝试的是: scrollview1.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) {
scrollview1.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (enable) {
return scrollview2.onTouchEvent(event);
} else {
return false;
}
}
});
但is似乎不起作用,并给出了指针超出范围的异常
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(事件)
代替您应该使用scrollview2.dispatchTouchEvent(事件)