관리 메뉴

감성코딩

Android Back Button Event 처리 본문

프로그래밍/JAVA_Android

Android Back Button Event 처리

감성코딩 2018. 10. 5. 14:09

안녕하세요 감성코딩입니다.


안드로이드를 개발하다보면 디바이스의 백버튼(Back Button)에 대한 처리를 커스텀해야하는 경우들이 있습니다.

예를 들면 흔히 볼 수 있는 백버튼을 2회 눌렀을 때, 종료하는 등의 이벤트 처리 말입니다.


자주 활용되는 방식이라 정리하고 공유하기 위해서 이 글을 작성합니다.


private final long FINISH_INTERVAL_TIME = 2000;
private long backPressedTime = 0;
@Override
public void onBackPressed() {
long tempTime = System.currentTimeMillis();
long intervalTime = tempTime - backPressedTime;

if (0 <= intervalTime && FINISH_INTERVAL_TIME >= intervalTime)
{
finish();
}
else
{
backPressedTime = tempTime;
Toast.makeText(getApplicationContext(), "한번 더 누르면 종료됩니다.", Toast.LENGTH_SHORT).show();
}
}


간단히 설명을 덧붙이자면

우선 백버튼에 대한 이벤트를 커스텀하기 위해선

onBackPressed()라는 메소드를 오버라이딩 처리하시면 됩니다.


두번이상 눌렀을때의 주기를 지정하고, 첫 버튼이 눌렸을때의 시간을 저장하기 위한 변수를 선언합니다.


이후 백버튼이 눌렸을때 해당 시간을 저장해고, 주기내에 다시 한번 백버튼이 눌릴 경우 해당 액티비티를 종료하게 됩니다.




여기까지 Android Back Button Event 처리에 대해서 정리해보았습니다.


다시 정리할 내용이 생기면 그 때 돌아오겠습니다.

'프로그래밍 > JAVA_Android' 카테고리의 다른 글

Custom Adapter 사용시 성능이슈  (0) 2018.07.12
Comments