android 点击频率控制_android中button点击频率控制

转载:http://blog.csdn.net/xiangyihu/article/details/8174904

//写一个类

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

}

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

...........    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值