Android開發之實現多次點選事件
阿新 • • 發佈:2018-11-30
使用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);
}
});
}