Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- cloudstation
- 주석 숨김
- Linux
- github
- windows terminal
- SSL 인증서가 변경되었습니다
- JSON
- urllib3
- IntelliJ
- quickconnect
- audio station버그
- git
- cloud station
- 장치 데이터 오류
- clp 325wk
- 시놀로지 색인
- ds cloud
- MFC
- 라즈베리파이
- Wraith Spire
- Eclipse
- formatting failed
- 이클립스 주석
- truncated
- java.net.bindexception
- setonkeylistener
- synology
- linearlaout
- c++
- SetWindowTextW
Archives
- Today
- Total
딸기스무디
처음 버튼을 클릭한 후 2초동안 한번만 동작하게 하기(toast 중복 제거) 본문
짧은시간동안 반복적으로 버튼을 누르는것을 막으려다보니 구현한 방법
private long sendPressTime = 0; private static Toast toast; public void onclickButton1(View view) { if(System.currentTimeMillis() > sendTime + 2000){ sendTime = System.currentTimeMillis(); if (toast != null) { toast.cancel(); //이전에 생성된 TOAST가 있다면 삭제 } toast = Toast.makeText(this, "메시지를 전송하였습니다.", Toast.LENGTH_SHORT); toast.show(); text1.clearFocus(); /* * contents * */ } }
sendTime + 2000보다 현재 시간이 지났을때(2초 후) 조건문을 실행하도록 하였다.
이전에 생성된 toast가 있는 경우 cancel함수로 제거하고 새로운 toast 생성
뒤로가기 클릭시 두번눌러야 앱이 종료되도록 하기
private long backKeyTime = 0; private static Toast toast; public void onBackPressed() { if(System.currentTimeMillis() > backKeyTime + 2000){ backKeyTime = System.currentTimeMillis(); if (toast != null) { toast.cancel(); //이전에 생성된 TOAST 삭제 } toast = Toast.makeText(this, "한번 더 누르면 앱을 종료합니다", Toast.LENGTH_SHORT); toast.show(); } else{ Toast.makeText(this, "종료되었습니다.", Toast.LENGTH_LONG).show(); finish(); } }
2초가 지난경우 finish함수를 통해 앱 종료
'android' 카테고리의 다른 글
Edittext사이에 focus 전환하기 + setOnKeyListener (0) | 2020.10.05 |
---|---|
Fragment에서 Toast, Button 사용 예제 (0) | 2020.10.03 |
LayoutInflater 사용예제 (0) | 2020.09.21 |
RelativeLayout으로 화면구성하기 (0) | 2020.09.15 |
Comments