zoukankan      html  css  js  c++  java
  • android中button点击频率控制

      public class Utils {   
          private static long lastClickTime;   
          public static boolean isFastDoubleClick() {   
              long time = System.currentTimeMillis();   
              long timeD = time - lastClickTime;   
              if ( 0 < timeD && timeD < 500) {       //500毫秒内按钮无效,这样可以控制快速点击,自己调整频率
                  return true;      
              }      
              lastClickTime = time;      
              return false;      
          }   
      } 
    
     
                                                                 //监听按钮调用方法
      public void onClick(View v) {   
          if (Utils.isFastDoubleClick()) {   
              return;   
          }   
      } 

    -----------------------------------------------------------------你自己可以测试一把  绝对没问题

    写一个类

    package com.example.teststyle;
    
    import Android.util.Log;
    
    
    public class ButtonUtil
    {
     private static long lastClickTime = 0;
     private static long DIFF = 5000;
     private static int lastButtonId = -1;
     /**
      * 判断两次点击的间隔,如果小于1000,则认为是多次无效点击
      * @return
      */
     public static boolean isFastDoubleClick()
     {
      return isFastDoubleClick(-1,DIFF);
     }
     /**
      * 判断两次点击的间隔,如果小于1000,则认为是多次无效点击
      * @return
      */
     public static boolean isFastDoubleClick(int buttonId)
     {
      return isFastDoubleClick(buttonId,DIFF);
     }
    
     /**
      * 判断两次点击的间隔,如果小于diff,则认为是多次无效点击
      * @param diff
      * @return
      */
     public static boolean isFastDoubleClick(int buttonId,long diff)
     {
      long time = System.currentTimeMillis();
      long timeD = time - lastClickTime;
      Log.v("xxxx", "lastButtonId = "+lastButtonId+"  buttonId = "+buttonId);
      if (lastButtonId == buttonId && lastClickTime>0 && timeD < diff)
      {
       Log.v("isFastDoubleClick", "短时间内按钮多次触发");
       return true;
      }
      
      lastClickTime = time;
      lastButtonId = buttonId;
      return false;
     }
    }

     然后调用

    public void onClick(View v) {
        // TODO Auto-generated method stub
        if(ButtonUtil.isFastDoubleClick(v.getId())){
    
          //这儿进行控制,时间自己控制
         Log.e("----->显示点击时间和开始时间", "开始时间");
         Toast.makeText(getApplicationContext(), "显示内容", Toast.LENGTH_SHORT).show();
    
       return
        }
    
       //开始写自己的业务逻辑
    
       ...........
       }
  • 相关阅读:
    PowerDesigner导出SQL脚本
    【Android进阶学习】shape和selector的结合使用(转)
    国内最新安卓渠道列表42个(转)
    安卓新框架
    通知和消息有什么区别?(转)
    XSS之xssprotect(转)
    为你的Android App实现自签名的 SSL 证书(转)
    HTTPS和HTTP的区别(转)
    IT软件技术人员的职位路线(从程序员到技术总监)
    听大神说:https和http有何区别?(转)
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/5597888.html
Copyright © 2011-2022 走看看