안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
가상키보드에서 엔터값이 갤럭시S 기준으로는 로그를 찍어본 결과, 0 과 6 인 것 같아서 소스를 다음과 같이 짰습니다.
final EditText et = (EditText)findViewById(R.id.chatEnter);
et.setOnEditorActionListener(new TextView.OnEditorActionListener(){
@Override
public boolean onEditorAction(TextView arg0, int arg1, KeyEvent arg2) {
if(0 == arg1) {
// 작업내용
return true;
} else if(6 == arg1) {
// 작업내용
return true;
}
return false;
}
});
대부분의 기계에서는 잘 되는 것 같은데, 갤럭시 넥서스 라는 기종에서는 엔터를 쳐도 //작업내용 부분에 진입을 안한다고 하던데.. 갤럭시 넥서스 가지신 분들! 로그값에는 엔터값이 몇으로 찍히는건가요? 부탁드립니다. _ _)




그렇게 숫자로 바로 하는 것보다
KeyEvent.KEYCODE_ENDCALL (=6)
KeyEvent.KEYCODE_DOWN (=0)
으로 정의해주심이 어떠신지요..
가상키보드 엔터값이라곤 하지만 EditText ImeOption 값이 뭐냐에 따라 달라집니다 :)
해당 EditText 의 XML 애트리뷰트도 알려주셔야 의도를 정확히 판정해드릴 수 있어요