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
    }

   //开始写自己的业务逻辑

   ...........
   }
时间: 2024-09-29 04:44:35

android中button点击频率控制的相关文章

android中button点击两次才响应onclick方法

页面上刚好有EditText   而此时焦点在EditText上  我们点击button时会出现这种情况: 第一次点击好像是获取焦点,第二次才是点击事件 xml文件中button增加android:focusableInTouchMode="false"

Android GridView中Button点击事件onItemClick不能响应

今天在捣鼓一个类似于百度贴吧的东西.布局:上面是个ActionBar标题栏,然后是一个GridView布局,在Java代码中动态加载关注的贴吧,一切就绪中,很愉快的弄好了! 现在需要点击选项进入某个贴吧,那么问题来了—— GridView中Button点击事件onItemClick不能响应. 所以,主要的猫腻还是在com.android.internal.R.attr.buttonStyle这个里面,查看这个xml文件,Button设置多了两个属性如下:<item name="androi

Android中Button的五种监听事件

简单聊一下Android中Button的五种监听事件: 1.在布局文件中为button添加onClick属性,Activity实现其方法2.匿名内部类作为事件监听器类3.内部类作为监听器4.Activity本身作为事件监听器,实现onClickListener5.外部类作为监听器 ButtonListenerActivity.class public class ButtonListenerActivity extends AppCompatActivity implements View.On

android中listview点击事件失效的灵异事件

首先说明一下我想实现的功能: 点击某个item之后,让其颜色发生变化.如果变化网上有很多例子,我就不班门弄斧了.Listview之所以点击没有反应是因为上图中绿色部分(自己定义的一个继承BaseAdapter的adapter来适应listview)将listview的item覆盖了.现在点击的只是自定义的adapter中的convertView. 其次,自定义的adapter中包含一个ImageView和二个TextView.代码如下: <?xml version="1.0" e

android中View点击和触摸事件的处理

android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解. 一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_MOVE...->ACTION_MOVE->ACTION_UP 当屏幕中包含一个ViewGroup,而这个ViewGroup又包含一个子view,这个时候android系统如何处理Touch事件呢?到底 是View

Android实战简易教程-第十五枪(实现ListView中Button点击事件监听)

1.main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" androi

Android中button点击后字体的变色效果

button的点击效果无疑是非常简单的,以致于我懒到当UI告诉我说在点击的时候button字体的颜色也要随着背景改变的时候我毫不犹豫的告诉他让他切两个图过来,后来想想着实是不太靠谱,于是了解了一下如何添加button点击的字体颜色变化效果. 1.首先你要在你的color文件下加入几个你需要的色值,注意不同的是不是一般的color标签,而是drawable标签,就像这样: <drawable name="color_red">#fffa3d39</drawable>

安卓ViewPager中Button点击事件弹出Dialog

首先页面采用ViewPager,在第一个页面中有一个按钮,要求点击这个页面上的按钮弹出一个对话框. 先贴出效果图: 分析难点:1.在ViewPager中,共有四个选项卡页,找到第一个页面中Button按钮.先贴出代码: 1 package com.example.acountrecorder; 2 import java.util.ArrayList; 3 import java.util.HashMap; 4 import java.util.List; 5 import com.exampl

Android笔记——Button点击事件几种写法

Button点击事件:大概可以分为以下几种: 匿名内部类 定义内部类,实现OnClickListener接口 定义的构造方法 用Activity实现OnClickListener接口 指定Button的onClick的属性 首先我们简单地定义一个带Button的xml布局文件 activity_main.xml: <Button android:id="@+id/bt1" android:layout_width="wrap_content" android: