美文网首页
连续多次点击事件监听

连续多次点击事件监听

作者: 简秋默 | 来源:发表于2021-01-18 17:15 被阅读0次
    package com.****.utils;
    
    import android.os.SystemClock;
    import android.view.View;
    
    public class CountingUtils {
        /**
         * 给控件设置多次点击触发的事件
         * @param v                     需要设置监听事件的View
         * @param clickTimes            触发时需要点击的次数
         * @param effectTime            触发的有效时间段(毫秒)
         * @param multipleClickListener 触发监听器
         */
        public static void setMultipleClickListener(View v, final int clickTimes, final long effectTime,
                                                    final MultipleClickListener multipleClickListener) {
            final long[] mHits = new long[clickTimes];
            v.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);
                    mHits[mHits.length - 1] = SystemClock.uptimeMillis();
                    if (mHits[0] > SystemClock.uptimeMillis() - effectTime) {
                        multipleClickListener.onClick(v, clickTimes, effectTime);
                    }
                }
            });
        }
    
        /**
         * 多次单击触发监听器
         */
        public interface MultipleClickListener {
            void onClick(View v, int clickTimes, long effectTime);
        }
    
    }
    

    相关文章

      网友评论

          本文标题:连续多次点击事件监听

          本文链接:https://www.haomeiwen.com/subject/aopxzktx.html