1、如何处理频繁快速点击事件
2012-11-26 18:06
239 查看
如何处理频繁快速点击事件,写下这篇小结,首先得感谢测试员涛哥,让我们在bug中成长了不少,最初被他测出这个问题时, 第一个感觉有点气愤,感觉他就是瞎扯,没事作死的点一个Button控件干嘛,用户不可能会有这样的操作。现在看来,除了感激还是感激,收获的不仅仅是对这类倾向恶意点击事件的处理,更重要的是有了对技术严谨性的思索和追求。记得项目主体功能差不多全部实现时,现在看来那时的代码可用冗余复杂混乱来形容(之前不怎么觉得)。仅仅只称得上实现了功能而已。代码逻辑扯得复杂,甚至有点混乱,冗余代码一大堆,更别谈可读性了。还好这是我第一个项目,偶尔以此安慰下自己,同时也鼓励自己把基本功练好,让自己代码逻辑清晰,代码简洁。一点感触。回归正题:
为什么会出现快速频繁点击?
这话题完全归功于测试员,倘若站在正常角度来说,应该没人这么无聊,频繁点击自己心爱的触屏手机。毕竟一张保护膜还是要点money滴。但我们写代码就需要全方位考虑可能事件,并做出相应的防范措施,这是严谨性的体现。
我们该如何处理呢?
1、响应一次后先设置它为不点击,过一段时间或执行完某些代码后,再恢复它为可点击。这个有点野蛮。
如下方法:
2、采用标记位和if来进行处理,即响应后,先判断是否满足条件,若不满足条件执行返回,
这里需要记得恢复标记位。
为什么会出现快速频繁点击?
这话题完全归功于测试员,倘若站在正常角度来说,应该没人这么无聊,频繁点击自己心爱的触屏手机。毕竟一张保护膜还是要点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; }
相关文章推荐
- ios开发—事件处理与如何获得最佳点击的View
- 处理频繁点击事件
- 如何处理:下载文件的按钮在事件未完成之前防止多次点击,事件完成之后又能继续点击提交
- Android技能杂谈——如何优雅的处理控件的点击事件
- Android技能杂谈——如何优雅的处理控件的点击事件
- android dialog在activity中,如何处理activity捕捉不到back点击事件
- 在vc中如何实现对静态文本的鼠标点击事件的处理?
- android源码解析(1)--如何处理布局文件中添加的点击事件
- Android如何处理列表控件的item同时点击事件
- [转]如何处理UI对象和场景对象点击事件冲突/重复
- 《android按钮点击事件的频繁点击问题处理》
- 如何最快速的找到页面某一元素所绑定的点击事件,并查看js代码
- [Sencha Touch/ExtJS] (函数节流)阻止用户快速频繁点击,导致多次触发点击事件
- iOS:按钮连续点击 按钮快速点击 如何处理
- 快速点击事件问题处理(多次点击)
- css中设置隐藏,如何对隐的部分添加点击事件
- 如何快速处理线上故障【转】
- 大数据技术的事件处理上应该如何选择Linux服务器?
- Android中如何优雅的处理重复点击实例代码
- android 点击、滑动事件的处理 GestureDetector