2012-05-22 3 views
4

두 번 화면을 두드리면 건배해야합니다. 다음 코드를 시도했다. 하지만 작동하지 않습니다. 두 번 두드리기 때 토스트가 나오지 않습니다. 이 코드의 문제점은 무엇입니까?안드로이드에서 두 번 탭 이벤트

package a.b.c; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.GestureDetector.OnDoubleTapListener; 
import android.view.GestureDetector.OnGestureListener; 
import android.view.MotionEvent; 
import android.widget.Toast; 



public class SampleActivity extends Activity implements OnDoubleTapListener,OnGestureListener 
{ 
     @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
    } 

    @Override 
    public boolean onDoubleTap(MotionEvent e) { 
     if(e.getAction()==1) 
     { 
     Toast.makeText(getBaseContext(), "onDoubleTap", Toast.LENGTH_LONG).show(); 
     } 
     return true; 
    } 

    @Override 
    public boolean onDoubleTapEvent(MotionEvent e) { 
     if(e.getAction()==1) 
     { 
     Toast.makeText(getBaseContext(), "onDoubleTapEvent", Toast.LENGTH_LONG).show(); 
     } 
     return true; 
    } 

    @Override 
    public boolean onSingleTapConfirmed(MotionEvent e) { 
     if(e.getAction()==1) 
     { 
     Toast.makeText(getBaseContext(), "onSingleTapConfirmed", Toast.LENGTH_LONG).show(); 
     } 
     return true; 
    } 

또한 OnGestureListener 메소드도 구현했습니다. 그러나 효과가 없습니다. 도와주세요.

+0

왜 ACTION_DOWN 상태를 확인하고 있습니까? – neeraj

+0

코드를 게시 할 때 질문과 관련된 부분을 게시하십시오. 왜 헤더 파일 가져 오기를 게시물에 넣으시겠습니까? – Krishnabhadra

+0

@neeraj, 실제로 (e.getAction() == 1)도 작동하지 않는 경우. –

답변

3

어디에서 doubletap 수신기를 설정합니까? 이 문제를 추가하여 문제가 해결되는지 확인하십시오.

GestureDetector detector = new GestureDetector(this, this); 
+0

Whats TapDetector? 자사의 TapDetector라는 이름의 클래스/메소드를 보여주지 않습니다. –

+0

잘못된 생성자에 대해 죄송합니다. 편집 된 답변을 시도하십시오. – MikeIsrael

+0

확인. 이제 나는 탐지기 객체를 어디에서 호출해야하는지 알고 싶습니다. –