捕捉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);
}
});