2012-07-25 8 views
0

그래서 내 클래스에 autoScrolling scrollView가 있고 scrollView를 클릭 할 때 스크롤을 중지하도록 사용자 onTouch 이벤트를 가로 채고 싶습니다. 이 기능을 어떻게 구현합니까? 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

답변

1

사실을 반환하면 onTouchEvent를 처리했다고 생각합니다. 일반적인 터치 동작이 발생하도록하려면 다음과 같이하십시오.

return super.onTouchEvent (ev);

그런 식으로 네이티브 코드를 호출하면 어떤 경우에는 정상적으로 스크롤됩니다.

+0

글쎄 사용자가 scrollView를 클릭 할 때 스크롤을 멈추고 손가락을 위로 올리면 다시 시작하기를 원합니다. return super.onTouchEvent (이벤트)를 시도했지만 작동하지 않는 것 같습니다. – cj1098

+0

어딘가에서 onInterceptTouchEvent() 함수도 재정의해야 할 필요가 있습니까? – cj1098