前言
在日常开发工作中,会碰到Button按钮点击处理用户的需求,比如提交一个订单到服务器或跳转进行支付按钮操作,如果出现延迟情况造成界面短时间没响应,用户接下来就很有可能再去点击一次按钮去提交,这样就的话会造成上一个事件还未处理完又多了一个新的事件需要处理,就会出现提交两次订单到后台服务器或支付两次。为了防止用户抖动多次点击造成的问题,就要从点击事件本身去寻找解决办法。
案件分析
一个普通的按钮点击后跳转到另一个页面的代码片段,如下:
//按钮点击事件:
Button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//比如 跳转到另一个Activity
}
});
分析:
正常情况下会跳转到另一页面,如果碰到手机比较卡的情况,或者用户手抖瞬间点击两次,就会造成点击事件被调用两次,页面跳转了2次。作为程序员首先会想到的就是在点击之后把Button设置为不可点击或不可用 :“clickable=false | | Enable=false”;但是,类似这样的button一个项