본문 바로가기

~2023

[Android/JAVA] EditText에서 EditorActionListener()로 Enter 이벤트 만들기

728x90
반응형

<실행 예시>

 

 


<풀이>

 

원래 일반적인 EditText는 Enter키 발생시 무반응하는데 imeOptions 속성을 추가하면 다양한 기능을 추가 할  수 있다.

imeOptions 종류로 actionSend, actionGo, actionSearch 등이 있는데 이 글에서는 actionSend를 사용한 실습을 진행했다.

실습이 굉장히 간단한데 imeOptions 속성을 지정했다면 setOnEditorActionListener()를 통해 이벤트 리스너를 추가하면 된다.

onEditorAction()을 오버라이드해주어야 하는데 매개변수로 (뷰, 액션 아이디, 키 이벤트)가 필요하다. 키 이벤트는 키보드 자판에 있는 키를 의미하기 때문에 우리가 필요한 변수는 액션 아이디이다.

앞서 editText를 actionSend로 했기 때문에 if문을 통해 액션 아이디와 actionSend와 맞다면 해당 이벤트에 알맞는 구현부를 작성하면 된다. 참고로 EditorInfo는 imeOptions의 속성을 필드 상수 멤버로 만든 클래스이기 때문에 import해서 사용하면 된다.

 


<코드>

etName: EditText View 객체

actionId: 액션 아이디

EditorInfo: import한 클래스

handled: 처리 여부


java
xml

 

 

 

 

 

728x90
반응형