1

我这里有一个棘手的情况。我有两个滚动视图,一个在另一个下方。正如预期的那样,最上面的人得到了事件。我想要实现的是,当顶部的事件到达末尾时,我想将事件传递给底层滚动视图,以平滑过渡。我尝试的是这样的:

    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)
4

1 回答 1

1

你应该scrollview2.dispatchTouchEvent(event)改用

于 2013-05-16T10:51:07.377 回答