상세 컨텐츠

본문 제목

안드로이드 스크린 키보드 있을때 back 버튼(되돌리기버튼) 이벤트

스마트기기개발관련/안드로이드 개발

by AlrepondTech 2011. 7. 1. 17:52

본문

반응형

 

 

 

=================================

=================================

=================================

 

 

 

 

 

 

 

출처: http://blog.naver.com/telsome?Redirect=Log&logNo=90089771331

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

 

 

=================================

=================================

=================================

 

 



관련 게시물 : 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 boolean onKeyPreIme(int keyCode, KeyEvent event) {
  if(event.getAction() == KeyEvent.ACTION_DOWN) {
   if(keyCode == KeyEvent.KEYCODE_BACK) {
}}}
 
뿅~!!
         }
         return super.onKeyPreIme(keyCode, event);
 }
}

 

 

 

=================================

=================================

=================================

 

 

 

반응형


관련글 더보기

댓글 영역