关闭

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

标签: android
318人阅读 评论(0) 收藏 举报
分类:

项目中遇到快速点击两次时,会出现两个相同界面,
解决办法:
在父类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;
    }
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:61860次
    • 积分:1183
    • 等级:
    • 排名:千里之外
    • 原创:50篇
    • 转载:10篇
    • 译文:0篇
    • 评论:37条
    博客专栏
    文章分类