안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
몇일전에도 글을 올렸지만 답변이 없어 다시 올립니다.
이 기능때문에 오픈을 계속 오픈을 못하고 있습니다........... (T,.T)
첨부파일 봐주시면, 시물레이션은 이렇습니다.
1. 버튼을 클릭하면, 하단에 LinearLayout 이 나타나면서 키보드가 나타납니다.
2. 나타난 레이아웃쪽의 버튼을 누르면 다시 사라집니다.
문제점 : 레이아웃이 나타났을때 뒤로버튼을 누르면 onKeyDown 가 호출이 안됩니다.
키보드가 내려갔을때의 이벤트를 뺏고 싶습니다.
인터넷 검색으로 찾아본지 일주일정도 된것 같은데, 해결책을 모르겠습니다.
답변부탁 드리겠습니다.
2012.02.16 17:56:49
EditText의 경우 onKeyPreIme 메서드가 키보드가 내려가기 직전에 호출됩니다. EditText를 상속해서 다음 코드처럼 처리하면 됩니다.
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
// 처리
}
return super.dispatchKeyEvent(event);
}




아마도.....키보드가 있을때.. 키다운 이벤트는 잡히지 않는걸로 압니다..
제가 아는 방법은 그냥...소프트 키보드를 내리는 메소드를 사용해서 내려버리는 겁니다..
어떠한 시점 : 레이아웃쪽 버튼을 누르거나, 뒤로키를 눌렀을때..
............뭐 이런 방법이 있네요..- - ; 제 짧은 소견으로는...