2014-02-24 1 views
1

EditText 필드에 개행 문자를 만드는 온 스크린 키보드에서 돌아 가기 버튼을 누르면 어떻게 감지 할 수 있습니까?EditText에서 개행 감지

줄 바꿈 문자 또는 반환 키를 확인해야하는지는 신경 쓰지 않지만 키보드의 반환 키를 눌러 메시지를 보내려합니다.

나는 이미 여러 가지 시도를했지만, 제대로 작동하지 않는 것 같습니다.

알고 싶으면 내 EditText 객체를 chatInputET이라고합니다.

미리 감사드립니다. 귀하의 의견에

답변

3

추가 리스너 :.

chatInputET.addTextChangedListener(new TextWatcher(){ 
    @Override 
    public void onTextChanged(CharSequence txt, int start, int before, int count) { 
    if(-1 != txt.toString().indexOf("\n")){ 
     doSendMsg(); 
    } 
    } 
}); 
+1

이 txt.toString() 같이 IndexOf ("\ n")를''해야하지만, 덕분에 어쨌든 :) –

+0

도'txt.toString 수() .contains ("\ n")' – injecteer

+0

뭔가 잘못되었습니다. 공간 문자에 대해서만 작동합니다. 새 줄뿐만 아니라 아래의 답이 올바른 경우 if -> if (string.length()> 0) && string.charAt (string.length() - 1) == '\ n') –

4
chatInputET.addTextChangedListener(new TextWatcher() { 
    @Override 
    public void onTextChanged(CharSequence s, int start, int before, int count) { 
    String string = s.toString(); 
    if (string.length() > 0 && string.charAt(string.length() - 1) == '\n') { 
     // do stuff 
    } 
    } 
});