EditText 뷰에서 Enter 또는 Done Key 이벤트 처리가 필요 할 때가 있다. 그런데 onKeyListener()로 처리할 때에는 다른키는 상관 없지만 Enter 또는 Done Key 처리가 제대로 되지 않는다. 이런 경우 onEditorActionListener()로 처리 하면 된다.
그리고 Enter 또는 Done Key를 개발자가 원하는 데로 보여주고 싶을 때는 setImeOptions()를 사용하여 제어하면 된다.
1 2 3 4 | // EditText Listener 등록 및 Next 버튼으로 보이기 EditText edittext = (EditText) findViewById(R.id.edittext); edittext.setOnEditorActionListener(this); edittext.setImeOptions(EditorInfo.IME_ACTION_NEXT) |
1 2 3 4 5 6 7 8 9 10 | @Override public booleand onEditorAction(TextView v, int actionId, KeyEvent event) { if((actionId == EditorInfo.IME_ACTION_DONE) || (event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) { // TODO Auto-generated method stub } return false; } |