【问题标题】:Pass motionEvent from one scrollView to another将motionEvent从一个scrollView传递到另一个
【发布时间】:2013-05-16 10:47:36
【问题描述】:

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

    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)

【问题讨论】:

    标签: android scroll scrollview android-scrollview


    【解决方案1】:

    你应该改用scrollview2.dispatchTouchEvent(event)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-14
      • 2018-11-04
      • 2011-08-26
      • 2021-07-19
      • 2017-12-10
      • 2021-01-17
      相关资源
      最近更新 更多