프로그램/안드로이드
OnTouch 이벤트가 안 먹을때는, MotionEvent.ACTION_POINTER_DOWN 대신 MotionEvent.ACTION_DOWN 을 써 보자.
(주)CKBcorp.,
2015. 3. 19. 06:00
반응형
말그대로다.
별 코드를 다 박아봐도 mouse down / mouse up 이 안 나와서 뭔가 했는데, 알고보니 예제 코드가 잘못된 거였다.
아래의 코드를 보자.
public boolean onTouch(View v, MotionEvent event)
{
switch ( event.getAction() )
{
case MotionEvent.ACTION_POINTER_DOWN :
Log.v( "TEST", "_DOWN");
break;
case MotionEvent.ACTION_POINTER_UP :
Log.v( "TEST", "_UP" );
break;
case MotionEvent.ACTION_MOVE :
Log.v( "TEST", "_MOVE" );
break;
}
return true;
}
인터넷에서 뒤져낸 코드인데, 아무리 해도 _DOWN / _UP 이 안나온다.
삽질을 한두시간정도 하다가, 혹시나 해서 action 값을 찍어보니까,
EVENT. A:0 _DOWN:5 _UP:6 MOVE:2
... 결론부터 말하면,
public boolean onTouch(View v, MotionEvent event)
{
int eventaction = event.getAction();
switch ( eventaction )
{
case MotionEvent.ACTION_POINTER_DOWN :
case MotionEvent.ACTION_DOWN :
Log.v( "TEST", "_DOWN");
break;
case MotionEvent.ACTION_POINTER_UP :
case MotionEvent.ACTION_UP :
Log.v( "TEST", "_UP" );
break;
case MotionEvent.ACTION_MOVE :
Log.v( "TEST", "_MOVE" );
break;
}
return true;
}
이렇게 바꿨다.
인터넷 예제코드라 뭐라 하기도 힘들다.
반응형