android 处理双击事件

捕捉View的双击事件,用GestureDetector

 

首先类要实现接口OnGestureListener

 

public class CommonViewActivity extends Activity implements OnGestureListener

该接口必须实现如onDown,onFling,onLongPress,onScroll,onShowPress,onSingleTapUp之类的方法,这个和滑屏之类有关,没仔细看。

 

然后定义变量

 

private GestureDetector gestureScanner;

 

变量处理

 

        gestureScanner = new GestureDetector(this);
        gestureScanner.setOnDoubleTapListener(new GestureDetector.OnDoubleTapListener()
        {
            public boolean onDoubleTap(MotionEvent e)
            {
                // TODO 双击时产生一次时,调至编辑页面
                gotoEditPage();
                return false;
            }
            
            @Override
            public boolean onDoubleTapEvent(MotionEvent e)
            {
                // TODO Auto-generated method stub
                return false;
            }
            
            @Override
            public boolean onSingleTapConfirmed(MotionEvent e)
            {
                // TODO Auto-generated method stub
                return false;
            }
        });

 

然后要实现Activity的

 

@Override
    public boolean onTouchEvent(MotionEvent me)
    {
        return gestureScanner.onTouchEvent(me);
    }

 

 

P.S 这个要放置activity里的view截touch事件,如果我就碰到view里面有个ScrollView。如果遇到这种情况,把ScrollView的setOnTouchListener填充

 

   
        ScrollView scrollView = (ScrollView) findViewById(R.id.scroll_layout);
        scrollView.setOnTouchListener(new View.OnTouchListener()
        {
            
            public boolean onTouch(View v, MotionEvent event)
            {
                
                return gestureScanner.onTouchEvent(event);
            }
        });
 

你可能感兴趣的:(android)