마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

EditText 입력 시 키보드 엔터에 특정 코드 부여하기

0 추천

커스텀 다이얼로그에 EditText를 배치하여 사용자로 부터 문자열을 입력 받도록 만들었습니다. 입력 받을 때 키보드의 엔터키를 입력할 경우 다이얼로그의 OK 버튼과 동일한 효과(문자열 입력을 완료하고, 키보드 사라짐)를 주기 위해 다음과 같이 코드를 작성했는데요.

        mEditText.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (keyCode == KeyEvent.KEYCODE_ENTER) {
                    mOkButton.callOnClick();
                    return true;
                }
                return false;
            }
        });

이상하게도 위 코드는 삼성 기기들에서 잘 작동하지만 엘지나 AVD 기기들에서는 전혀 효과가 없습니다. 구글으로 찾은 다른 방법도 시도해봤는데, 마찬가지더라구요. 다음 링크의 질문자가 채택한 OnEditorActionListener를 사용하는 방법입니다.

http://stackoverflow.com/questions/1489852/android-handle-enter-in-an-edittext

모든 기기에서 동일하게 동작하려면 어떻게 해야하는지 질문드려요.

THK (2,360 포인트) 님이 2017년 3월 14일 질문

1개의 답변

0 추천
setOnEditorActionListener를 사용하는 것이 올바른 방법입니다.
익명사용자 님이 2017년 3월 14일 답변
...