Android防止事件重复提交

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


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
                }
            }
        });
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,015评论 25 709
  • 只想乘着时间之翼 驶出时间轨迹 那是我自己的天空 每片云朵都包裹着我的秘密 没有日出和日落 我有大把时间可以挥霍 ...
    寒光一闪阅读 387评论 2 5
  • 很久没有这么晚了还睡不着,心里想着好多好多事情。不擅长意味了突破了可以学到更多,我不擅长口才,所以和人交流有时候要...
    甜志cc阅读 162评论 0 0