1、如何处理频繁快速点击事件

来源:互联网 发布:中世纪2优化9蒙古出现 编辑:程序博客网 时间:2024/05/16 08:31

如何处理频繁快速点击事件,写下这篇小结,首先得感谢测试员涛哥,让我们在bug中成长了不少,最初被他测出这个问题时,  第一个感觉有点气愤,感觉他就是瞎扯,没事作死的点一个Button控件干嘛,用户不可能会有这样的操作。现在看来,除了感激还是感激,收获的不仅仅是对这类倾向恶意点击事件的处理,更重要的是有了对技术严谨性的思索和追求。记得项目主体功能差不多全部实现时,现在看来那时的代码可用冗余复杂混乱来形容(之前不怎么觉得)。仅仅只称得上实现了功能而已。代码逻辑扯得复杂,甚至有点混乱,冗余代码一大堆,更别谈可读性了。还好这是我第一个项目,偶尔以此安慰下自己,同时也鼓励自己把基本功练好,让自己代码逻辑清晰,代码简洁。一点感触。回归正题:


为什么会出现快速频繁点击?


这话题完全归功于测试员,倘若站在正常角度来说,应该没人这么无聊,频繁点击自己心爱的触屏手机。毕竟一张保护膜还是要点money滴。但我们写代码就需要全方位考虑可能事件,并做出相应的防范措施,这是严谨性的体现。

我们该如何处理呢?

1、响应一次后先设置它为不点击,过一段时间或执行完某些代码后,再恢复它为可点击。这个有点野蛮。
如下方法:

public void lockViewMoment(final View v,final int time)    {        v.setClickable(false);//dosomething();        Thread LockMoment = new Thread()        {            public void run()            {                try {                    Thread.sleep(time);                } catch (InterruptedException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                }                System.out.println(" Lock the ave button 200ms");                v.setClickable(true);            }        };        LockMoment.start();    }

2、采用标记位和if来进行处理,即响应后,先判断是否满足条件,若不满足条件执行返回,

这里需要记得恢复标记位。

if(isFirstClick)        {            isFirstClick = false;//dosomething();        }else        {            return;        }


原创粉丝点击