문제

실제로 나는 Android (1.5) 응용 프로그램에 OntouchListener를 구현하려고합니다. 따라서 "OntouchListener"를 클래스에 구현 한 다음 코드를 다음에 넣었습니다.

public boolean onTouchEvent (MotionEvent e){
 //code
}

문제는이 메소드보다 (예를 들어) 스피너 또는 edittextView를 드래그하는 경우이 메소드가 호출되지 않는다는 것입니다. 내가 알아 낸 유일한 방법은이보기를 수동으로 수동으로 추가하는 것입니다.

((Spinner)(findViewById(R.id.spinner1))).setOnTouchListener(tl);
((Spinner)(findViewById(R.id.spinner2))).setOnTouchListener(tl);

(TL은 OntouchListener입니다) 따라서 각보기에 도달하기 전에 터치 이벤트를 잡을 수있는 방법이 없습니까? 미리 감사드립니다

리페이

도움이 되었습니까?

해결책

정확히 무엇을하고 싶습니까?

  • 일부는 전체 제스처를 감지합니다Activity.
  • 주어진에 대해서만 터치를 감지합니다View

전자를 원한다면 :

이 예를 살펴보십시오.그리드 레이아웃에 대한 제스처 감지.

기본적으로, 당신은 모든 등록 된 터치 이벤트를 GestureDetector. 사용자 입력 (단일 탭, 더블 탭, 스크롤 등)이 정확히 무엇인지 이해하고 해당 콜백을 SimpleOnGestureListener, 당신이 구현해야합니다.

후자를 원한다면 :

당신은 둘 중 하나를 할 수 있습니다 :

  1. 보기를 무시하십시오 onTouchEvent().
  2. 구현 및 고리 onTouchListener (접촉이 파견되기 전에 접촉을 원한다면).

구현하려는 경우 onTouchListener, 당신은 당신의 일을하지 않을 것입니다 onTouchEvent() 방법, 그러나 인터페이스에 있습니다 onTouch() 방법.

도움이되기를 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top