对于快速连续点击Button操作从而引发的多次提交数据问题;

在项目中需要点击按钮,进行发送udp广播,从而对服务器返回的数据进行显示,操作等;然而服务器访问是耗时操作,如果快速点击按钮,可能导致数据更新速度跟不上,今儿程序崩溃;解决办法如下;

我们每点击一次按钮,就记录下当前时间,如果前后两次时间差小于某个值(自己设定),就不进行逻辑操作,不发送广播;


public static long lastClickTime;

   public synchronized static boolean isFastClick() {
       long time = System.currentTimeMillis();   
       if ( time - lastClickTime < 1000) {   
           return true;   
       }   
       lastClickTime = time;   
       return false;   
   }


//扫描当前设备
scan.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//判断是否快速点击按钮
if (Tool.isFastClick()) {
       return ;
   }
device.clear();
adapter.notifyDataSetChanged();
smt.putMsg(searchCode); //发送广播
}
});

你可能感兴趣的:(对于快速连续点击Button操作从而引发的多次提交数据问题;)