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

getKeyCode 에러

0 추천

이미 입력된 EditText의 글자를 수정할때 그 글자의 KeyCode를 알기 위해 OnKeyDown 함수를 사용하였습니다.

백스페이스 키를 클릭하여 글자를 지울때는 67 이라는 keycode 값이 뜨는데 숫자판을 띄워 숫자를 입력하면 코드 값이 나타나지 않습니다.이것 가지고 일주일째 구글링 중입니다.

 좋은 방법을 한수 부탁 드립니다. 안드로이드, 안드로이드스튜디오 상에서 작업중

 @Override
public boolean onKeyDown(int KeyCode, KeyEvent event)
 {
     super.onKeyDown(KeyCode, event);
   // if( KeyCode ==67){
         af++;
         d$=edit3.getText().toString();
         Log.d("key", "key  "+ KeyCode+ d$);
    // }
     return super.onKeyDown(KeyCode, event);
 }
가몸짱 (230 포인트) 님이 2016년 2월 15일 질문
답변  갑사합니다.확인해보니까 키코드가 원래 안뜨는 것이 었습니다.키로 입력되는 내용은 다른 방법으로 찾기로 했습니다.TextWatcher에서도 입력내용이 확인되지만 집어내기가 너무어려워 edittext에 listerner를 붙여서 onkey에서 확인 버튼 클릭시 gettext().tostring()으로 입력글자를 캐치하기로 결정하였습니다.

2개의 답변

0 추천
음..정확히 원하시는 게 뭔지 잘 모르겠네요

에디트텍스트의 문자열이 변경되는 것을 알고 싶으면 텍스트와쳐를 쓰는 게 맞을 것 같은데요

TextWatcher 를 검색해 보시고 적용해보세요. 괜시리 엉뚱한 키값들까지 받아서 예외처리하는 것보다 훨씬 나을 것 같습니다. 사용예는 인터넷 검색하면 많을 겁니다.
cc1232 (35,280 포인트) 님이 2016년 2월 15일 답변
0 추천

keyCode로 들어오는 값은 EditorInfo에 있는 값들만 들어올겁니다.

숫자나 문자의 값을 보려면 KeyEvent를 참조하세요.

niss (3,110 포인트) 님이 2016년 2월 16일 답변
...