Notice
Recent Posts
Recent Comments
Link
투케이2K
44. (AndroidStudio/android/java) onKeyDown 뒤로 가기 두번 클릭 시 종료, setOnClickListener 버튼 중복 클릭 방지 실시 본문
Android
44. (AndroidStudio/android/java) onKeyDown 뒤로 가기 두번 클릭 시 종료, setOnClickListener 버튼 중복 클릭 방지 실시
투케이2K 2021. 2. 2. 08:01/* =========================== */
[ 개발 환경 설정 ]
개발 툴 : AndroidStudio
개발 언어 : java
/* =========================== */
/* =========================== */
[소스 코드]
//========= [클릭 이벤트 시간을 저장할 변수 선언] =========
private long clickTime = 0;
//========= [뒤로가기 클릭 이벤트 메소드 정의 실시] =========
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO 모바일 디바이스의 뒤로가기 키 이벤트가 발생한 경우
if (keyCode == KeyEvent.KEYCODE_BACK) {
Log.d("---","---");
Log.d("//===========//","===================");
Log.d("","\n"+"[A_Main > onKeyDown() 메소드 : 백버튼 터치시 뒤로 가기 이벤트 실시]");
Log.d("//===========//","===================");
Log.d("---","---");
//TODO ==== 2초 내에 다시 버튼을 중복 클릭한 경우 ====
if (SystemClock.elapsedRealtime() - clickTime < 2000){
Toast.makeText(getApplication(),"프로그램이 종료되었습니다",Toast.LENGTH_SHORT).show();
finish();
overridePendingTransition(0,0);
return true;
}
clickTime = SystemClock.elapsedRealtime();
//TODO ==== 처음 버튼 클릭 이벤트가 발생한 경우 ====
Toast.makeText(getApplication(),"한번 더 뒤로가기를 클릭하시면 앱을 종료합니다",Toast.LENGTH_SHORT).show();
}
return true;
}
//========= [버튼 클릭 이벤트 중복 터치 방지 실시] =========
ok_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//TODO ==== 2초 내에 다시 버튼을 중복 클릭한 경우 ====
if (SystemClock.elapsedRealtime() - clickTime < 2000){
Log.d("---","---");
Log.d("//===========//","===================");
Log.d("","\n"+"[A_Main > button 클릭 이벤트 : 중복 터치 방지]");
Log.d("//===========//","===================");
Log.d("---","---");
return;
}
clickTime = SystemClock.elapsedRealtime();
//TODO ==== 처음 버튼 클릭 이벤트가 발생한 경우 ====
Toast.makeText(getApplication(),"정상 클릭 이벤트 발생",Toast.LENGTH_SHORT).show();
}
});
/* =========================== */
반응형
'Android' 카테고리의 다른 글
Comments