2014-01-06 106 views
2

如何檢測android中的雙擊?我實現OnDoubleTapListener並寫道:如何檢測android雙擊?

public boolean onDoubleTapEvent(MotionEvent e) { 
     // TODO Auto-generated method stub 
     if(e.getAction() == 1){ 
      Toast.makeText(getApplicationContext(),"Double Tap", Toast.LENGTH_SHORT).show(); 
     } 
     return true; 
    } 

但它不工作。這有什麼問題?

+0

嘗試取出if塊,只是敬酒,當您收到該事件。這會讓我們知道聽衆是否被正確連接。 –

+0

如果阻塞並再次測試,我將其刪除。儘管如此,我仍然無法看到雙擊Toast消息。 – IBunny

+0

@Emmanuel:Yah謝謝,我看到了給定的帖子,但我不明白給定的代碼作爲答案。他爲此創造了新課程。我需要的是在我的活動內部進行。我沒有太多的Android經驗,如果這很愚蠢,我很抱歉。 – IBunny

回答

5
public class GestureDoubleTap extends GestureDetector.SimpleOnGestureListener { 

    @Override 
    public boolean onDoubleTap(MotionEvent e) { 
     //some logic 
     return true; 
    } 

} 

GestureDoubleTap gestureDoubleTap = new GestureDoubleTap(); 
gestureDetector = new GestureDetector(this/* context */, gestureDoubleTap); 

view.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View view, MotionEvent motionEvent) { 
     return gestureDetector.onTouchEvent(motionEvent); 
    } 

}); 
+0

謝謝,但有沒有辦法做到這一點裏面的活動,而不創建單獨的類作爲GestureDoubleTap? – IBunny

+0

匿名類改爲單獨的類作爲GestureDoubleTap,否則,我很抱歉,我不知道。 – venciallee

+0

這裏有另一個問題如何識別特定圖標?使用MotionEvent,我們可以獲得X和Y座標,但是如何使用它可以得到具有雙擊的確切圖標? – IBunny