有时也许会遇到希望让View点击多次执行的需求,这时只需要一个方法就可以简单实现n次点击事件的处理:

    /**
     * n次点击事件
     *
     * @param view 需要点击的view
     * @param i    想要点击的次数
     * @param time_ms  毫秒数
     */
    public void nClick(View view, final int i, final int time_ms) {
        final long[] mHits = new long[i];
        view.setOnClickListener(new View.OnClickListener() {
            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() - time_ms)) {
                    //TODO Someting();
                    Zutil.Toastshow("我在"+time_ms+"毫秒内次点击了"+i+"次");
                }
            }
        });
    }

方法调用:让mRootLl在500毫秒内点击三次,可执行指定逻辑(TODO Something)处

nClick(mRootLl, 3, 500);


posted on 2017-12-23 22:57  张风捷特烈  阅读(114)  评论(0编辑  收藏  举报