1. 程式人生 > >Android開發之實現多次點選事件

Android開發之實現多次點選事件

 使用Google提供的api中採用的演算法

能夠實現n次點選事件,我們需要定義一個n長度的陣列,每點選一次將數組裡的內容按序號整體向左移動一格,然後給n-1出即陣列的最後添加當前的時間,如果0個位置的時間大於當前時間減去1000毫秒的話,那麼證明在1000毫秒內點選了n次。實現如下:

private final static int COUNTS = 3;
private final static int DURATION = 1000;

private long[] mHits = new long[COUNTS];

 

private void countinuousClick(int count, long time) {
        System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1);
        mHits[mHits.length - 1] = SystemClock.uptimeMillis();
        if (DURATION >= (SystemClock.uptimeMillis() - mHits[0])) {
            mHits = new long[COUNTS];
            clearLog();
        }
    }
  private void initListeners() {
        mLogInfo.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                countinuousClick(COUNTS, DURATION);
            }
        });
    }