본문 바로가기
Android/소스

안드로이드 연속클릭 방지 클래스.

by 므시칸곰틔군 2018. 5. 23.

/**
* 추상클래스엔 추상메서드 등록
*/
public abstract class OnSingleClickListener implements View.OnClickListener {

// 중복 클릭 방지 시간 설정
private final long MIN_CLICK_INTERVAL = 2000;

private long mLastClickTime;

public abstract void onSingleClick(View v);

@Override
public void onClick(View v) {

/*
이거 같은 경우에는 2초안에 클릭이 이루어 지면 다시 2초를 기다린다..
// long currentClickTime = SystemClock.uptimeMillis();
// long elapsedTime = currentClickTime - mLastClickTime;
// mLastClickTime = currentClickTime;
//
// // 중복 클릭인 경우
// if (elapsedTime <= MIN_CLICK_INTERVAL) {
// LogUtil.e("이거 2초방지 맞지??");
// return;
// }
*/


/*무조껀 2초 뒤에 클릭을 한다.*/
if (SystemClock.elapsedRealtime() - mLastClickTime < MIN_CLICK_INTERVAL) {
LogUtil.e("무조껀 2초뒤엔 클릭이 된다..");

return;
}
mLastClickTime = SystemClock.elapsedRealtime();


onSingleClick(v);
}
}