아래는 코모스튜디오가 직접 만든 무료 앱이에요(한 번만 봐주세요 ^^)
안드로이드 에디터 텍스트(edit text)에서 엔터키나 Done키를 받기 위해서는 아래와 같이 리스너(setOnEditorActionListener) 를 등록 하면 된다.
그런데 여기서 문제가 있다. event가 null 이 들어 오는 것이다. 죽음이란 거다. 이럴 경우 null 처리(event != null &&)를 해주면 그만이겠거니 하고 생각 하겠지만... 그렇다면 엔터에 대한 반응 처리를 못하니 다시 텍스트를 입력 해야 하는 현상이 발생한다. 큰일이다.... 그럼 어떻게 해야... 널 처리도 하고... 이벤트도 정상적으로 받을 수 있을까 ?
자, 위와 같이 처리 하면 널 체크는 피하고 엔터키로 들어 올 수 있도록 막아 준다. 즉, 이전 코드에서 널 체크를 하면 엔터로 들어 오지 않으니 엉망인 코드가 되었지만, 이젠 둘 다 처리 할 수 있는 스마트한 코드가 되었다.
' [안드로이드 공부] > UI' 카테고리의 다른 글
[안드로이드] EditText 여러개 포커스, 커서 변경 (0) | 2015.10.16 |
---|---|
[안드로이드] EditText 맨 뒤에 커서 위치 시키기 -java.lang.indexoutofboundsexception setspan ends beyond length (0) | 2015.10.16 |
[안드로이드] TextView 글자 흐르기 marquee 효과 (0) | 2015.10.16 |
EditeText 키보드 내리고 포커스 내보내기 (0) | 2015.09.30 |
안드로이드 ListView Must Error (0) | 2015.09.11 |
모든 게시물은 코모스튜디오의 소유이며, 무단 복제 수정은 절대 불가입니다. |
퍼가실 경우 댓글과 블로그 주소를 남기고 해당 게시물에 출처를 명확히 밝히세요. |