关闭

android防止按钮多次点击和添加双击事件

449人阅读 评论(0) 收藏 举报

如下:自定义一个抽象类实现View.OnClickListener接口,在onclick方法中判断点击的时间间隔,根据时间间隔调用相应的抽象方法即可在调用处得到回调,可根据需求定义不同的接口和抽象类(单击,双击,单击+双击)

“`java
public abstract class MyClickListener implements View.OnClickListener {

private final int MIN_CLICK_DELAY_TIME = 1000;
private final int DOUBLE_CLICK_DELAY_TIME = 200;
private long lastClickTime = 0;
private final int SINGLE_CLICK_MESSAGE = 1;
//调用单击方法的handler
Handler handler = new Handler(){
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        myOnSingleClick((View) msg.obj);
    }
};

@Override
public void onClick(final View v) {
    long currentTime = System.currentTimeMillis();
    if (currentTime - lastClickTime < DOUBLE_CLICK_DELAY_TIME) {
        lastClickTime = currentTime;
        myOnDoubleClick(v);
        //单双击事件同时存在时,如果判断为双击则不再执行单击事件的逻辑
        handler.removeMessages(SINGLE_CLICK_MESSAGE);
        return;
    }
    if (currentTime - lastClickTime > MIN_CLICK_DELAY_TIME) {
        lastClickTime = currentTime;
        Message msg = new Message();
        msg.obj = v;
        msg.what = SINGLE_CLICK_MESSAGE;
        //延迟执行单击事件,避免先执行了单击事件由执行双击事件
        handler.sendMessageDelayed(msg, DOUBLE_CLICK_DELAY_TIME + 1);
    }

}

public abstract void myOnSingleClick(View v);

public abstract void myOnDoubleClick(View v);
}       

“`

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Android:防止过快点击造成多次事件

onClick事件是Android开发中最常见的事件,本文介绍了一个小技巧,能防止view被误操作快速重复点击时,而重复产生事件。
  • barryhappy
  • barryhappy
  • 2015-03-20 23:57
  • 42137

Android防止按钮两次点击

Android防止按钮两次点击
  • Spartacus0830
  • Spartacus0830
  • 2016-02-04 14:27
  • 660

Android防止过快点击造成多次事件

问题 onClick事件是Android开发中最常见的事件。比如,一个submitButton,功能是点击之后会提交一个订单, 则一般代码如下,其中submitOrder()函数会跳转到下一页进行...
  • MrZhang_happy
  • MrZhang_happy
  • 2016-04-07 17:45
  • 4825

GridView中如何实现双重点击事件

GridView也是列表View,与ListView相比,他的列数不固定,与Gallery相比,他的行数大于1,所以GridView算是集成了ListView和Gallery。我们知道,如果要实现Gr...
  • liugx588
  • liugx588
  • 2015-02-14 16:50
  • 445

Android中防止重复点击的小技巧

PS: 好久没有写过博客了,不经意间看到这篇在我接触Android不久时写的文章,现在看来确实挺粗糙的(有点看不下去了。。),这里写写我刚想到的另一种思路吧
  • u012975705
  • u012975705
  • 2015-11-26 20:45
  • 4702

安卓实战中防止Button的频繁点击多次执行点击事件和点击切换文字

哈哈,今天来写两种button在安卓开发实战的对应效果处理,也是对button的点击事件触发过程的处理。 开发实战中button事件处理3种情况: 情况一:button点击触发倒计时情况二:but...
  • u014074418
  • u014074418
  • 2016-07-18 18:10
  • 2566

Android-防止用户快速点击和多控件点击

Android-防止用户快速点击和多点触控 1.为什么要防止用户重复点击 2.如何防止...
  • Android_yh
  • Android_yh
  • 2016-06-19 14:02
  • 4026

android防止按钮二次点击

http://blog.csdn.net/zhufuing/article/details/53021835 在用户使用 Android 应用的时候,经常会出现过快且多次点击同一按钮的情况,一方...
  • tiramisu_ljh
  • tiramisu_ljh
  • 2017-03-22 15:09
  • 1720

Android之Button控件多次点击问题及RxBinding事件流

前言:在日常开发工作中经常会用到Button按钮点击处理用户的需求,比如提交一个订单到服务器或跳转进行支付按钮操作,如果出现延迟情况造成界面短时间没响应,用户接下来就很有可能再去点击一次按钮去提交,这...
  • csdn_aiyang
  • csdn_aiyang
  • 2017-07-18 00:54
  • 762

【Android】Android防止过快点击造成多次事件执行(防止按钮重复点击)

在用户使用 Android 应用的时候,经常会出现过快且多次点击同一按钮的情况,一方面这是因为应用或手机当前有些卡顿,另一方面也可能是由于很多应用并没有设置按钮点击时的 selector 或者其它按钮...
  • zhufuing
  • zhufuing
  • 2016-11-03 15:15
  • 10822
    个人资料
    • 访问:8542次
    • 积分:424
    • 等级:
    • 排名:千里之外
    • 原创:36篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档
    最新评论