2013-01-19 3 views

답변

1

DispatchTouchEvent는 MotionEvent 매개 변수와 함께 호출됩니다. MotionEvent 내 getAction 메서드는 ACTION_DOWN, ACTION_MOVE, ACTION_UP 또는 ACTION_CANCEL을 반환 할 수 있습니다. 그런 다음 ACTION_DOWN 플래그 isClick을 설정하십시오. ACTION_MOVE가있는 경우는, isClick 플래그를 클리어합니다.

switch (ev.getAction()) { 
    case MotionEvent.ACTION_DOWN: 
     isClick = true; 
     break; 
    case MotionEvent.ACTION_CANCEL: 
    case MotionEvent.ACTION_UP: 
     if (isClick) { 
      //TODO Click action 
     } 
     break; 
    case MotionEvent.ACTION_MOVE: 
     isClick = false; 
     break; 
    default: 
     break; 
} 
return true; 

}

+1

는 액션 이동 이벤트가 항상 해고의 얼마나 간단한 I 탭에 상관없이처럼 보인다. – JeffRegan

+0

isClick을 false로 설정하기 전에 이동 임계 값을 도입 한 다른 답변을 확인하십시오. http://stackoverflow.com/a/16485989/1373248 – MSquare

+0

어제 비슷한 해결책을 구현했습니다. 이 대답을 업데이트 할 수 있습니다. – JeffRegan

관련 문제