您的位置:首页 > 移动开发 > Android开发

android 快速点击两次出现两个重复界面

2016-05-31 18:53 585 查看
项目中遇到快速点击两次时,会出现两个相同界面,

解决办法:

在父类activity中重写事件分发的方法dispatchTouchEvent()

原理:

当在activity中快速点击某个控件,时间间隔不超过300ms,此时activity拦截click事件,这是点击的view将得不到响应,代码如下:

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
if (isFastDoubleClick()) {
return true;
}
}
return super.dispatchTouchEvent(ev);
}

public boolean isFastDoubleClick() {
long time = System.currentTimeMillis();
long timeD = time - lastClickTime;
lastClickTime = time;
return timeD <= 300;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: