Android防止事件重复提交

2016-05-16  本文已影响0人  weiggle

标签(空格分隔): 未分类


Why?

在做一些项目的时候,由于网络等原因,我们常常会造成重复提交事件,特别是做商城订单的时候,往往会生成重复的订单,此时就必须防止事件的重复.

How?

对于这类的事件,处理也特别简单,主要是在提交之前做个时间验证。我们可以设置个默认的时间,比如2000ms,当两次提交事件的时间差小于或等于的时候,我们认定为同一次时间,当大于2000ms的时候,我们认定为两次不同的事件。

just do it!

public class SingleClick{
  private static final int DEFAULT_TIME = 2000;
  private static long lastTime;
  
  public static boolean isSingle(){
    boolean isSingle ;
    long currentTime = System.currentTimeMillis();
    if(currentTime - lastTime <= DEFAULT_TIME){
        isSingle = true;
    }else{
       isSingle = false;
    }
    lastTime = currentTime;
    
    return isSingle;
  }
}

sample

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(SingleClick.isSingle()){
                  //do something
                }else{
                  //do otherthing
                }
            }
        });
上一篇下一篇

猜你喜欢

热点阅读