키보드가 표시되고 있을 때 EditText에서 백버튼을 누르면 키보드만 닫힌다.
여기서 추가로 뭔가 다른 동작을 하고 싶다면 이렇게 해야한다.
일단 Edittext를 상속받아서 하나 만들고, 그 안에 리스너도 하나 만들어 주면 된다.
public class BackPressEditText extends EditText { private OnBackPressListener _listener; public BackPressEditText(Context context) { super(context); } public BackPressEditText(Context context, AttributeSet attrs) { super(context, attrs); } public BackPressEditText(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public boolean onKeyPreIme(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && _listener != null) { _listener.onBackPress(); } return super.onKeyPreIme(keyCode, event); } public void setOnBackPressListener(OnBackPressListener $listener) { _listener = $listener; } public interface OnBackPressListener { public void onBackPress(); } }
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); BackPressEditText edit1 = (BackPressEditText) findViewById(R.id.editText1); edit1.setOnBackPressListener(onBackPressListener); } private void didBackPressOnEditText() { finish(); } private OnBackPressListener onBackPressListener = new OnBackPressListener() { @Override public void onBackPress() { didBackPressOnEditText(); } }; }
'프로그래밍 > android' 카테고리의 다른 글
[android] Google play service를 이용해서 점수 공유, 업적 달성 추가하기 (46) | 2013.08.26 |
---|---|
[android] 젤리빈에서 테두리 투명한 버튼 만들기 (0) | 2013.07.30 |
[android] 키보드가 보이고 있는데 EditText에서 Back 버튼을 눌렀을 때 (1) | 2013.07.29 |
[android] 정상적인 한글인지 판단하기 (0) | 2013.07.23 |
[android] Bing Translator API 사용하기 (0) | 2013.07.10 |
[android] 한글 자소 분리 (0) | 2013.07.08 |
댓글을 달아 주세요
감사합니다~
2018.10.11 11:42 [ ADDR : EDIT/ DEL : REPLY ]