2012-05-22 146 views
4

我需要點擊雙擊屏幕上的東西。我試了下面的代碼。但它不起作用。雙擊不會吐司。這些代碼有什麼問題?在Android中雙擊事件

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

你在哪裏設置雙向監聽器?嘗試將此添加到您的oncreate,看看它是否修復問題

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

Whats TapDetector?它沒有顯示任何名爲TapDetector的類/方法。 –

+0

對那個錯誤的構造函數感到抱歉,嘗試編輯答案。 – MikeIsrael

+0

好的。現在我需要知道應該在哪裏調用探測器對象? –