Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ImageView手势/双击未触发_Android_Events_Imageview_Gesture - Fatal编程技术网

Android ImageView手势/双击未触发

Android ImageView手势/双击未触发,android,events,imageview,gesture,Android,Events,Imageview,Gesture,好的,我有这个设置 滚动视图 视图 图像视图 我正在试图捕获图像视图上的双击。。我的代码如下所示: ImageView iv = (ImageView)findViewById(R.id.ImageViewID); iv.setImageDrawable(iv.getResources().getDrawable(R.drawable.someimage)); // Gesture detection detector = new GestureDetector(this,new Simple

好的,我有这个设置

滚动视图 视图 图像视图

我正在试图捕获图像视图上的双击。。我的代码如下所示:

ImageView iv = (ImageView)findViewById(R.id.ImageViewID);

iv.setImageDrawable(iv.getResources().getDrawable(R.drawable.someimage));
// Gesture detection
detector = new GestureDetector(this,new SimpleOnGestureListener(){

    //new myGestureClass());

    @Override
    public boolean onSingleTapUp(MotionEvent e) {
        // TODO Auto-generated method stub
        System.out.println("SINGLE TAP");
        return false;
    }

    @Override
    public boolean onDoubleTap(MotionEvent arg0) {
        // TODO Auto-generated method stub
        System.out.println("DOUBLE TAP");
        return false;
    }

    @Override
    public boolean onDoubleTapEvent(MotionEvent arg0) {
        // TODO Auto-generated method stub
        System.out.println("DOUBLE TAP EVENT");
        return false;
    }

    @Override
    public boolean onSingleTapConfirmed(MotionEvent arg0) {
        // TODO Auto-generated method stub
        return false;
    }

});

View.OnTouchListener gestureListener = new View.OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
        System.out.println("TOUCH!" +event);
        if (detector.onTouchEvent(event)) {
            return true;                 
        }   
        return false;
        }
    };

iv.setOnTouchListener(gestureListener); 

但是被重写的tap方法从未被调用。。。onTouch确实会被调用,但是应该将我的事件绑定到touch事件的detector.OnTouchEvent永远不会调用我的重写方法。。。。那么,我到底做错了什么?

重写onDown方法并返回true


希望这有帮助。

哇,谢谢。。我想我永远也找不到那个。如果需要反馈给其他事件,那么SimpleGetStureListener为什么会在该事件上默认返回FALSE。