본문 바로가기
개발/안드로이드

[안드로이드]EditText 소프트 키보드가 열린상태에서 BACK KEY Disable하는법

by darksilber 2011. 8. 31.
반응형

출처 - http://202psj.tistory.com/241

EditText를 사용하던중 소프트 키보드가 활성화됐을때, Hard키 백 (아래와 같이 생긴놈) 를 disable 하는것을 찾다가 레퍼런스가 없어서 여기에 올림.
|
<--

1. EditText 를 확장한다.
2. onKeyPreIme 를 Override한다.

import android.content.Context;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.widget.EditText;

public class ExEditText extends EditText {

public ExEditText(Context a_context) {
super(a_context);

}
public ExEditText(Context a_context, AttributeSet a_attributeSet) {
super(a_context, a_attributeSet);
}
public boolean onKeyPreIme(int keyCode, KeyEvent event) {

if(event.getAction() == KeyEvent.ACTION_DOWN) {
if(keyCode == KeyEvent.KEYCODE_BACK) {
return true; // 사용자가 override한 함수 사용
}
}

return super.onKeyPreIme(keyCode, event); // 시스템 default 함수 사용

}
}

이렇게 하면 끝...!!

p.s 하드 백 키 = KEYCODE_BACK

 

반응형

댓글