HardKey에 대해, 중복으로 눌렸을 때, 시간을 주려면 타이머를 사용하면 되는걸까요?
조회수 543회
HardKey KeyCode : VoulmeUp 이 있고, 이 VoulmeUp 을 누르면 Popup이 하나 띄운다고 했을 때를 가정합니다.
VoulmeUp 을 누른 후 몇 초안에 같은 VoulmeUp HardKey를 눌렀을 때, 이벤트를 재호출 하지 않도록 막아버리려면 Timer를 사용하면 되는건가요? 어떤식으로 Timer를 사용하면 될까요? 약 5초 정도로 해서 키의 중복 이벤트 처리를 막으려고 합니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
true일 경우에만(변수 이름에 따라 false일 수 있음) 버튼 핸들러를 실행 시키도록 flag 변수를 하나 두고 (초기값 true)
- 눌렀을 때, flag가 true이면 기존 핸들러 동작 실행. false면 실행하지 않는 분기 로직 구현
- true로 패스했을 경우, flag를 false로 변환.
- Timer에 schedule 메소드로 5000ms뒤에 flag를 true로 변환시키는 TimerTask를 등록.
대충 이런 로직일거고, 만약 누를때마다 중복방지 딜레이를 초기화 하는 로직이 추가로 들어간다면 cancel() 후 schedule 재등록 하는 과정이 추가되면 될 것 같네요.
댓글 입력