ClickListener 중복 클릭 방지

중복클릭 방지를 위한 장치에는 여러가지가 있겠지만

그 여러가지 장치중 하나인 Custom OnClickListener에 대해 알아보겠습니다.

알아보기보단 사실상 코드 공개에 가까운 글이니 코드만 보실분께선 아래의 코드를 먼저 복사하시면 됩니다

지금부터 설명입니다

리스너 이름은 OnIntervalClickListener 입니다

이름은 상관없습니다 아무거나 해도 상관없습니다

OnClickListener를 상속받아 기본적으론 OnClickListener이지만 우리의 입맛대로 이용하기 위해 커스텀을 합니다

위의 MIN_CLICK_INTERVAL는 최초 클릭과 다음 클릭 사이의 간격이라고 생각하면 됩니다

저는 0.5초로 지정하여 500을 넣어두었습니다

mLastClickTime은 마지막으로 입력한 클릭이벤트의 시간이며 현재 시간과 비교하여 그 간격을 알아보기 위함입니다

현재 시간과 마지막으로 클릭한 시간을 계산하여 MIN_CLICK_INTERVAL의 간격보다 짧을시에 return시켜 아무런 동작을 하지않게 하고 MIN_CLICK_INTERVAL의 간격보다 길 경우에만 onIntervalClick(v); 가 호출되어 클릭이벤트가 호출됩니다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다