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
        }
    
       //开始写自己的业务逻辑
    
       ...........
       }
  • 相关阅读:
    Android应用开发1(应用程序框架)
    使用LogParser分析网站运行情况(比较简单)
    实现支持会话的WebClient
    放大招,解决前同事签出TFS文件的问题
    Python几行代码打印出网卡的Mac地址
    飞猪传书
    QQ斗地主记牌器(只支持角色版)
    咱也搞一个TransactionScope
    自定义WinForm 下ListBox的行高
    Linq To xml 查询时需要注意的一点。
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/5597888.html
Copyright © 2011-2022 走看看