多次點擊事件監聽
實現View.OnClickListener接口,設置觸發時間,計算觸發時間內的點擊次數,到時間後觸發事件:
- maxTim爲觸發時間
- count爲點擊次數
實現代碼
代碼如下:
import android.os.Handler;
import android.view.View;
public abstract class MultiClickListener implements View.OnClickListener {
// 點擊時間間隔
private long maxTime;
// 已經連續 點擊的次數
private int count;
public MultiClickListener() {
this(250);
}
public MultiClickListener(long multiTouchInterval) {
this.maxTime = multiTouchInterval;
this.count = 0;
}
@Override
public void onClick(final View v) {
this.count++;
if (this.count == 1) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
MultiClickListener.this.onMultiClickListener(v,
MultiClickListener.this.count);
MultiClickListener.this.count = 0;
}
}, MultiClickListener.this.maxTime);
}
}
public abstract void onMultiClickListener(View v, int clickCount);
}
使用方法
tv.setOnClickListener(new MultiClickListener(1000) {
@Override
public void onMultiClickListener(View v, int touchCount) {
switch (touchCount) {
case 1:
System.out.println("one");
break;
case 2:
System.out.println("two");
break;
case 3:
System.out.println("three");
break;
}
}
});