您的位置:首页 > 其它

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

2012-11-26 18:06 239 查看
如何处理频繁快速点击事件,写下这篇小结,首先得感谢测试员涛哥,让我们在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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: