박까스의 개발일기

[Android][kotlin] editText 엔터 완료 이벤트 (KeyEvent in Kotlin) 본문

안드로이드 개발

[Android][kotlin] editText 엔터 완료 이벤트 (KeyEvent in Kotlin)

박까스 2021. 2. 1. 16:31

엔터완료 이벤트

[기존 코드]

        // editText에서 완료 클릭 시
        binding.loginEtPwd.setOnKeyListener { v, keyCode, event ->
            if (event.action == KeyEvent.ACTION_DOWN && keyCode == KEYCODE_ENTER) binding.btnLogin.performClick()
            true
        }

 

문제점 : 언제부터인지는 모르지만 ediitext 입력시 숫자가 입력이 안되거나 뒤로가기 버튼이 안눌리는 오류가 발생

 

해결방법 : 구글링 후 최신 코드로 변경

 

[변경 코드]

        // editText에서 완료 클릭 시
        binding.loginEtPwd.setOnEditorActionListener { v, actionId, event ->
            var handled = false
            if (actionId == EditorInfo.IME_ACTION_DONE) {
                binding.btnLogin.performClick()
                handled = true
            }
            handled
        }

 

디버깅 해보니 이상없이 잘 작동됩니다.

 

참고 블로그 : yuuj.tistory.com/34