CAFE

안드로이드 질문

ViewGroup.onInterceptTouchEvent 함수의 리턴값

작성자옛날꿀호떡|작성시간12.03.27|조회수2,535 목록 댓글 4


안녕하세요.
오늘 이것만 계속 붙잡고 있었는데 해결이 되지 않아서 질문 드립니다. ㅠㅠ

책을 보는 중 드래그 & 드랍 하는 예제에 ViewGroup.onInterceptTouchEvent 함수를 
사용 했더라고요...

근데 위 함수의 리턴 값에 대한 설명은 없고 그냥 사용하라는 식으로만 나와서 검색을 해봤습니다.
관련 내용이 없어서 api 문서를 봤는데요... 영어 실력이 모자라 잘 이해가 안되네요...

true를 리턴하는 경우 false를 리턴하는 경우가 정확히 뭐가 다른지 모르겠어요..
조언 부탁 드리겠습니다.


다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 작성자슈퍼성근 | 작성시간 12.03.28 안녕하세요. View에서 받는 이벤트는
    - public boolean onTouchEvent (MotionEvent event)
    - public boolean onTrackballEvent (MotionEvent event)
    - public boolean onKeyUp (int keyCode, KeyEvent event)
    - public boolean onKeyShortcut (int keyCode, KeyEvent event)
    - public boolean onKeyPreIme (int keyCode, KeyEvent event)
    - public boolean onKeyLongPress (int keyCode, KeyEvent event)
    - public boolean onInterceptTouchEvent (MotionEvent ev)
    ... 등등 아주 많습니다.

    만일 True로 리턴하면 그 상위 View에는 해당 이벤트를 보내지 않겠다는 의미입니다.
  • 작성자슈퍼성근 | 작성시간 12.03.28 예를 들어 LinearLayout(ViewGroud) 내에 Button(View)가 존재하는 경우
    Button에서 onTouchEvent 와 같은 터치 이벤트를 처리하고 있을 경우
    그 함수내에 True라고 리턴하게 되면 그 상위 View인 LinearLayout에서는
    해당 이벤트가 올라가지 않습니다.
  • 작성자슈퍼성근 | 작성시간 12.03.28 특정 이벤트를 특정 뷰에서 처리를 완료하고 더 이상 상위 View에게
    이벤트를 처리되지 않게 하고 싶다면 True로 셋팅하면 됩니다.
    즉 이벤트 후킹.. 가로채기 등으로 생각하시면 쉽겠네요.
  • 답댓글 작성자옛날꿀호떡 작성자 본인 여부 작성자 | 작성시간 12.03.28 감사합니다~ 도움이 많이 되었습니다 ^^*
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼