티스토리 뷰
반응형
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
- heroku
- docker
- 아이맥
- ggplot
- 막대그래프
- 셀프개통
- java
- MongoDB
- 맥북
- ubuntu
- eclipse
- Oracle
- 마인크래프트
- R
- MyBatis
- ktm모바일
- MySQL
- ipTIME
- javascript
- ggplot2
- github
- 이클립스
- 알뜰요금제
- 도넛차트
- 자급제폰
- vagrant
- Spring
- Google Chart Tools
- SVN
- python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함