프로그래밍/Android
안드로이드에서 back버튼 처리
Code-Moon
2010. 12. 17. 20:00
안드로이드에서 back버튼에 대한 처리를 해줘야하는 경우가 있습니다.
일반적으로는 back버튼을 누르면 그 activity가 종료되게 되죠.
저는 activity에서 onBackPressed()메서드를 오버라이드해서 사용했었는데요, 이게 2.0버전부터 지원되는 메서드더군요-_-;;;
그래서 1.6이하의 버전에서는 에러가 나고 종료되더라구요.
1.6이하의 버전에서도 back버튼에 대한 처리를 원활히 해주기 위해서는 onBackPressed() 메서드를 오버라이드 하기 보다는, onKeyDown() 메서드를 오버라이드해서 쓰는 것이 좋습니다.
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK) { thread.interrupt(); } return false; }
위와 같은 식으로 오버라이드해서 사용하면 됩니다.
return을 true로 하면 activity가 종료되지 않고,
return을 false로 하면 activity가 종료됩니다.