View的多次点击事件

有时也许会遇到希望让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);


猜你喜欢

转载自blog.csdn.net/qq_30447263/article/details/78882768