2012-07-25 55 views
0

所以我在我的类中有一个自动滚动scrollView,我想拦截用户onTouch事件,以便它在点击scrollView时停止滚动。我将如何实现此功能?我知道它与覆盖onTouchEvent函数有关,但是当我忽略它时它不起作用。在android中处理onTouch事件

@Override 
    public boolean onTouchEvent(MotionEvent event) { 
     switch (event.getAction()) { 
     case MotionEvent.ACTION_POINTER_1_DOWN: 
      stopAutoScrolling(); 
     case MotionEvent.ACTION_POINTER_1_UP: 
      startAutoScrolling(); 
     } 
     return true; 
    } 
+0

看看onInterceptTouchEvent。我认为由于ScrollView处理触摸事件的方式,它不会调用OnTouchEvent方法。 – you786 2012-07-25 18:48:10

回答

1

我相信当你返回true时,你说你已经处理了onTouchEvent。如果您想要发生正常的触摸行为,请执行以下操作:

return super.onTouchEvent(ev);

这种方式你调用本地代码,在你的情况下,将执行正常的滚动。

+0

我想让它在用户点击scrollView时停止滚动,并在手指抬起时重新开始。我试图返回super.onTouchEvent(事件),它似乎并没有工作。 – cj1098 2012-07-25 19:00:21

+0

我在某处阅读我需要重写onInterceptTouchEvent()函数吗? – cj1098 2012-07-25 19:01:05