JHB의 프로그래밍 삽질기

[Android] MapActivity에서 Touch Event 사용하기 본문

PROGRAMMING/Android/Java

[Android] MapActivity에서 Touch Event 사용하기

roter 2010.10.19 00:58

처음에 시도한 방법은
mapView.setOnTouchListener를 등록해서 하는 방법인데..
오직 한번 밖에 실행이 안된다. 왜 그런지는 도저히 이유를 모르겠다..
심지어 수많은 블로그에도 [The handler isn't being executed. I didn't find the exact reason for this behavior yet.] 정도로 써져 있다.

그다음엔 onTouchEvent를 Override 해봤다.. 그래도 마찬가지다.. setOnTouchListener가 안되니 이것마저 안되는 것 같다..

레퍼런스 문서를 찾다가 dispatchTouchEvent라는 녀석을 발견했고, 이 녀석을 오버라이드 해 보았다.

	@Override
	public boolean dispatchTouchEvent(MotionEvent event){
		int action = event.getAction();

		switch(action){
			case(MotionEvent.ACTION_DOWN):
				Log.i("HoneyMap","TouchDown");
				break;
			case(MotionEvent.ACTION_UP):
				Log.i("HoneyMap","TouchUp");
				break;
			default:
				break;
		}
		return super.dispatchTouchEvent(event);
	}


바로 성공했다..
한줄 요약 : dispatchTouchEvent를 오버라이드하면 됨.
0 Comments
댓글쓰기 폼