2012-05-22 189 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

好的。现在我需要知道应该在哪里调用探测器对象? –