반응형
=================================
=================================
=================================
출처: http://blog.naver.com/telsome?Redirect=Log&logNo=90089771331
EditText를 사용하던중 소프트 키보드가 활성화됐을때, Hard키 백 (아래와 같이 생긴놈) 를 disable 하는것을 찾다가 레퍼런스가 없어서 여기에 올림.
|
<--
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
=================================
=================================
=================================
관련 게시물 : http://www.androidpub.com/index.php?mid=android_dev_qna&page=708&document_srl=729024
키보드활성화상태에서 백키이벤트가먹는군요~ㅋ
--------------------------------------------------
public class EditText_extends extends EditText {
public EditText_extends(Context a_context) {
super(a_context);
}
public EditText_extends(Context a_context, AttributeSet a_attributeSet) {
super(a_context, a_attributeSet);
}
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if (((액티비티)getContext()).onKeyPreIme(keyCode, event)) {
return true;
public EditText_extends(Context a_context) {
super(a_context);
}
public EditText_extends(Context a_context, AttributeSet a_attributeSet) {
super(a_context, a_attributeSet);
}
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if (((액티비티)getContext()).onKeyPreIme(keyCode, event)) {
return true;
------------------------------------------------------------------
액티비티
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
if(event.getAction() == KeyEvent.ACTION_DOWN) {
if(keyCode == KeyEvent.KEYCODE_BACK) {
if(event.getAction() == KeyEvent.ACTION_DOWN) {
if(keyCode == KeyEvent.KEYCODE_BACK) {
}}}
뿅~!!
}
return super.onKeyPreIme(keyCode, event);
}
}
}
return super.onKeyPreIme(keyCode, event);
}
}
=================================
=================================
=================================
반응형
'스마트기기개발관련 > 안드로이드 개발' 카테고리의 다른 글
안드로이드 View - setTag(), getTag() 뷰어안에 다른정보를 넣고 싶을때 (0) | 2011.07.05 |
---|---|
안드로이드 리턴값있는 Activity 호출 (0) | 2011.07.05 |
안드로이드 기초 관련 (0) | 2011.07.01 |
백그라운 작업자Thread 이용하기 (0) | 2011.07.01 |
About Android Sticky Broadcast Intent( 안드로이드 끈적 끈적한 인텐트에 관하여) (0) | 2011.06.30 |