문의하기나 이벤트 참여 버튼을 만들 경우
광클을 하는 유저들이 종종 있습니다.
뭐 인터넷이 잠깐 느려졌다거나 혹은 터치가 다닥 이뤄지는 경우겠죠
보통 이 부분이 크게 문제가 되거나 하진 않지만
동일 데이터가 두개 연속 쌓이는게 가끔은 귀찮아지기도 합니다.
이 경우에는 버튼클릭시간을 저장하고 다시 클릭시에 현재시간을 불러와
이를 비교해서 몇초동안 클릭이 되지 않도록 하면 더블클릭을 방지할 수 있습니다.
private Long lastClick = 0L;
insertBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try{
if(SystemClock.elapsedRealtime() - lastClick > 5000) {
lastClick = SystemClock.elapsedRealtime();//버튼클릭시간저장
실행();
}else{
}
}catch (Exception e){
}
}
});
SystemClock.elapsedRealtime() -> 현재시간 불러오기
현재시간과 마지막클릭시간이 5초 이상 차이가 날 경우에 if 안쪽을 실행해라 라는 소스입니다.
원하는 시간대에 맞춰 설정해서 쓰시면 됩니다.
저 같은 경우엔 연속클릭시에 Toast를 띄우려고 했는데...
안띄우는 게 더 이뻐보이더라구요 ㅋㅋ
시간대를 길게 잡는다면 띄우는 것도 괜찮지 않을라나...싶습니다. ㅋㅋㅋ
'개발놈' 카테고리의 다른 글
[javascript] 쿠키 써서 더블클릭 막기 (0) | 2022.07.25 |
---|---|
[JAVA]비밀번호는 알 수 없다면서 어떻게 이전 비밀번호는 알까??(feat.해시) (0) | 2022.06.17 |
네이버 지도 api 연동하기 (0) | 2022.05.12 |