앱을 사용하면서 지나쳤던 작은 요소!
바로 키보드의 InputMethodAction이다.
이미지 검색 앱을 만들어보면서 키보드의 엔터를 눌렀는데 검색이 안돼서 당황했었다. 사용할 때는 당연하다고 생각했던 것인데 따로 설정을 해줘야 한다!
EditText나 TextView와 같은 텍스트 입력 위젯에 대한 속성 중 하나로, 키보드와 관련된 동작을 제어하는 데 사용kt 파일에서 설정해줘야 됨!actionSearch 검색 필드에서 Enter 키를 누를 때 검색 동작 실행actionGo 텍스트 필드에서 Enter 키를 누를 때 특정 동작 실행 (ex. 로그인)actionNext 다음 입력 필드로 포커스 이동actionDone 텍스트 입력 완료actionSend 입력된 텍스트 전송actionNone 키보드 동작 지정 X
actionSearch로 설정했을 때의 키보드!이렇게 써서 각각의 형태에 맞게 기능이 실행되면 좋겠지만 따로 설정해줘야 함😢
actionSearch로 설정했을때 실행될 동작을 정의할 코드searchEv.setOnEditorActionListener { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
val query = searchEv.text.toString().trim()
if (query.isNotEmpty()) {
// 검색 동작 처리 로직을 여기에 추가
// ex. setSearch(query) 또는 검색 화면으로 이동하는 등의 동작을 수행
}
// 검색 버튼을 눌렀을 때 항상 true 반환
return@setOnEditorActionListener true
}
return@setOnEditorActionListener false
}
[참고 사이트]