记录一下显现最简单的双击事件
private final int totalTime = 300; private int count = 0;//点击次数
private long firstClick = 0;//第一次点击时间
private long secondClick = 0;//第二次点击时间
/**
* 两次点击时间间隔,单位毫秒
*/
private final int totalTime = 300;
//双击事件
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
int t = motionEvent.getAction();
switch (t){
case MotionEvent.ACTION_DOWN:
count++;
if (count == 1){//第一次点击
firstClick = System.currentTimeMillis();
}else if (count == 2){//第二次点击
secondClick = System.currentTimeMillis();
if (secondClick - firstClick < totalTime){
count = 0;
firstClick = 0;
Toast.makeText(getActivity(),"111",Toast.LENGTH_SHORT).show();
}else {//如果两次点击时间超出预定值,重新赋值
firstClick = secondClick;
count = 1;
}
}
break;
case MotionEvent.ACTION_UP:
break;
}
return false;
}
});
源于返回值true&false的区别( 以 setOnKeyListener 举例): true:监听器监听到了按键并且做出了响应,但是没有往下传,所以在EditText控件中不会显示输入的内容; false:EditText捕获到事件并且显示输入的文本。
|