티스토리 뷰
반응형
EditText 입력창에 엔터키 이벤트를 잡아 처리하는 방법.
엔터키 이벤트를 사용하려면 OnKeyListener 를 사용하면 간단하다.
EditText 클래스의 setOnKeyListener 로 이벤트를 정의해주면 된다.
EditText editText = (EditText) findViewById(R.id.edit_message); editText.setOnKeyListener(new EditMessageOnKeyListener());
보다시피 OnkeyListener 를 구현한 임의의 클래스 EidtMessageOnKeyListener 객체가 필요하다.
이벤트들은 내부클래스로 선언해서 로직과 분리해서 정의해놓자.
class EditMessageOnKeyListener implements OnKeyListener { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { //버튼을 눌렀을때, if(event.getAction() == KeyEvent.ACTION_DOWN){ Log.d(MY_TAG, "KeyEvent.ACTION_DOWN"); } //버튼을 뗄때, else if(event.getAction() == KeyEvent.ACTION_UP){ Log.d(MY_TAG, "KeyEvent.ACTION_UP"); } //엔터키 if (keyCode == KeyEvent.KEYCODE_ENTER) { Log.d(MY_TAG, "KeyEvent.KEYCODE_ENTER"); return true; } return false; } }
return 값을 true 로 리턴하면 이벤트가 없어진다.
KeyEvent.ACTION_DOWN KeyEvent.KEYCODE_ENTER KeyEvent.ACTION_UP KeyEvent.KEYCODE_ENTER
실행해보면, 위처럼 엔터키 누르면 4줄의 로그가 보이게 된다.
눌렀을때, 키를 놓을때, 2번발생하니 생각해서 로직을 넣으면 된다.
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- docker
- java
- vagrant
- github
- MySQL
- 도넛차트
- 막대그래프
- python
- ipTIME
- javascript
- R
- ubuntu
- Google Chart Tools
- Spring
- ktm모바일
- 아이맥
- 자급제폰
- Oracle
- 맥북
- 마인크래프트
- ggplot
- MongoDB
- 알뜰요금제
- MyBatis
- heroku
- 이클립스
- SVN
- 셀프개통
- ggplot2
- eclipse
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함