android 处理双击事件监听

原创 2016年05月30日 11:38:50

自定义一个监听类:

public class OnDoubleClickListener implements View.OnTouchListener {
    private final String TAG = this.getClass().getSimpleName();
    private int count = 0;
    private long firClick = 0;
    private long secClick = 0;
    /**
     * 两次点击时间间隔,单位毫秒
     */
    private final int interval = 1500;
    private DoubleClickCallback mCallback;

    public interface DoubleClickCallback {
        void onDoubleClick();
    }

    public OnDoubleClickListener(DoubleClickCallback callback) {
        super();
        this.mCallback = callback;
    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (MotionEvent.ACTION_DOWN == event.getAction()) {
            count++;
            if (1 == count) {
                firClick = System.currentTimeMillis();
            } else if (2 == count) {
                secClick = System.currentTimeMillis();
                if (secClick - firClick < interval) {
                    if (mCallback != null) {
                        mCallback.onDoubleClick();
                    } else {
                        Log.e(TAG, "请在构造方法中传入一个双击回调");
                    }
                    count = 0;
                    firClick = 0;
                } else {
                    firClick = secClick;
                    count = 1;
                }
                secClick = 0;
            }
        }
        return true;
    }
}

调用方式:

myBtn.setOnTouchListener(new OnDoubleClickListener(new OnDoubleClickListener.DoubleClickCallback() {
    @Override
    public void onDoubleClick() {
        //处理双击事件
    }
}));

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android 触摸屏双击事件

大家好,关于android双击事件 我相信大家都知道 API中是有个方法的,但是必须在Activity中在能使用。 对于到底用不用android 双击事件API各有各的看法。 在Activit...

Android 双击以及连续多次点击事件系统自带判断方法

import android.app.Activity; import android.os.Bundle; import android.os.SystemClock; import android...

从头学android_双击事件(多击事件)的算法

双击事件的算法android 中提供了click事件,但是没有提供doubleClick事件,如需要使用,需要程序员自定义doubleClick方法。 其实这也不算太难,双击不过就是在很短时间内的多...

android识别 单击和双击事件

package com.test.test; import android.app.Activity; import android.graphics.Color; import android.o...

andorid 中如何实现双击事件

在android中很少用到双击事件,但是特定情况下可能会用到,外面的做法也很多,这是我个人的具体实现。

android实现双击事件暨多击事件详解

双击事件暨多击事件详解

android 监听控件的单机和双击事件

设置android的单击事件是很简单的,给控件设置 setOnClickListener,重写onClick方法()即可。    但是双击事件如何设置呢,可能大家比较容易想到的方法是重写onTouch...

android实现双击监听

优势: 1.灵活性高。不需要继承自View或者其子类。 2.对单击的误触进行了识别。 3.本身已经具备了双击,单击的识别机制,不必担心与原有接口的协调问题。 4.可调整单击与双击识别的时间值。 代...

Android的TextView的双击事件监听

TextView是没有双击事件的监听设置的,故我们这里使用的是setOnTouchListener来作为双击监听。 监听的类需要实现OnTouchListener类,并重写OnTouch方法 下面...
  • fxtxz2
  • fxtxz2
  • 2012-06-18 09:51
  • 9962

Android view的单击,双击,长按事件监听

关于view的双击事件,网上有很多demo使用GestureDetector ,在给view setOnTouchListener的时候插入。我试了下,onDoubleTap onSingleTap等...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)