마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

onTouchEvent 에서 ACTION_MOVE에 안들어가져요ㅠㅠ

0 추천
 public boolean onTouchEvent(MotionEvent event){
  
  if (event.getAction() == MotionEvent.ACTION_UP) {
   Log.d("joylog", "action_up timer 끔");
   deTimer();
   timerflag = false;
  }
  if (event.getAction() == MotionEvent.ACTION_MOVE) {
   if(!timerflag) {
    Log.d("joylog", " action__move timer 킴");
    acTimer();
    timerflag = true;
   }
  }  
  return true;
 }

조이스틱 버튼 구현을 하고 있습니다.

드래그 중일때는 MOVE에 들어가서 최초 한번만 actimer 함수가 불리고

손을 떼면 UP에 들어가서 detimer함수가 불려야 합니다!

 

그런데 여러 실험을 해봐도

ACTION_DOWN과 ACTION_UP에는 들어가지지 않네요 ㅠㅠ

무슨 문제인가요?

ACTION_UP에 return false를 해도 마찬가지입니다 ㅠㅠ

참고로 main activity에서 onTouch하고 있는 상황입니다

안드로이드리 (330 포인트) 님이 2014년 9월 12일 질문

1개의 답변

0 추천
지금 소스로봐선 당연히 안들어갈거 같은데요?

Action_Up을 했을때 false를 하셨으니..

move는 up을 하기 전이자나요

아마

if(event.getAction() == MotionEvent.ACTION_MOVE{

바로 밑에 로그 찍으시면 찍힐거예요.

추가적으로 말씀드리면 정말 저도 이것때문에 미춰버린적이 많아서..

다운 이벤트하고 무브 이벤트하고 업 이벤트 구분하는거 정말 더럽습니다.

일일히 로그 찍어봐서 어떤 엑션이 들어오는지 로그로 확인하면서 구현해야됩니다.

특히나 조이스틱 구현하시는 거라면..;;
냐옹이류 (1,110 포인트) 님이 2014년 9월 12일 답변
...