마스터Q&A
접속유지
가입하기
안드로이드 Q&A
최근 질문
미답변 질문
태그
사용자
질문하기
마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다.
안드로이드펍
에서 운영하고 있습니다. [
사용법
,
운영진
]
인기있는 태그
초보어플개발
(3427)
안드로이드스튜디오
(2664)
안드로이드-초보어플개발
(1333)
안드로이드-스튜디오
(1086)
도와주세요-
(995)
이미지
(970)
listview
(866)
리스트뷰
(844)
오류
(805)
레이아웃
(693)
fragment
(675)
webview
(670)
EditText에 maxLength를 걸고, 한글만 입력 후 backspace를 할 때 보이지 않는 문자도 지웁니다
0
추천
EditText에 maxLength를 걸고, 한글을 limit보다 많이 입력 후 키보드의 backspace를 누르면, 눈에 보이지 않는 글자도 지우고 있습니다.
만약 maxLength=5 이고, '가나다라마바'를 입력 후, '마'를 지우려면 현재 '바'의 'ㅏ' 부분에 커서가 있으니 백스페이스를 세 번을 눌러야 합니다.
영어나 숫자에서는 발생하지 않는데, 한글에서만 발생합니다. 좋은 해결방법 없나요?
(테스트는 LG G4, 마시멜로우입니다)
edittext
한글
maxlength
쎄미
(
162,410
포인트)
님이
2016년 12월 20일
질문
쎄미
님이
2016년 12월 20일
수정
Please
log in
or
register
to add a comment.
답변 달기
·
글에 소스 코드 보기 좋게 넣는 법
·
질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
답변이 채택되거나 답변에 댓글이 달리면 이메일로 알려드립니다:
답변이 채택되거나 댓글이 달리면 이메일로 알려드립니다
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면
로그인
하거나 혹은
가입
하세요.
1개의 답변
0
추천
채택된 답변
좋은 해결방법이 될수 있을지는 모르겠으나
TextWatcher 이벤트로 length 5 넘어가면 edit 초기화 해주는 식으로 하면 안될까요?
예를들어 지금 하신 방식대로라면
가나다라마 -> 가나다라마ㅂ -> 가나다라마바
여기서 백스페이스 눌렀을때
가나다라마ㅂ -> 가나다라마
이렇게 되는게 문제가 되시는거니까
가나다라마 -> "ㅂ" 입력해서 TextWatcher 이벤트 발생 -> 이전문자열인 "가나다라마"를 edit에 setText 하는식으로 수정하면
가나다라마 이후로는 뭘 입력해도 계속 가나다라마 일테니 요구하시는 동작이 될수 있을거 같은데요
Development Guy
(
70,570
포인트)
님이
2016년 12월 20일
답변
쎄미
님이
2016년 12월 20일
채택됨
말씀하신대로 이런 식으로 처리를 하는 수 밖에 없네요...
웃긴 게 중국어나 일본어도 이런 증상이 안 나타나요 ㅋㅋㅋ
5글자를 원하면 maxLength는 6으로하고, 코드는 이렇게 하면 됩니다.
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() > 5) {
editText.setText(s.subSequence(0, 5));
editText.setSelection(5);
}
}
Please
log in
or
register
to add a comment.
...