xml 에서는 android:maxLength
code 에서는 setFilters를 이용하세요
입력 글자 변경시마다 콜백받을 수 있게 아래 리스너를 사용하시구요
TextView.addTextChangedListener(TextWatcher watcher);
글자수는 자바 String으로 영문이던 한글이던 1자로 처리하시려면 그냥 갯수 얻어서 사용하시구요
영문이나 문자등은 1byte 한글은 2byte 이런식으로 계산하시려면
String에 codePointAtXXX 라는 함수가 있습니다. 이걸 이요하시면 되구요
/**
* String code point를 이용한 한글/영어 구분으로 바이트 단위 길이 체크를 합니다.
*
* @param string the string
* @return ex) 가나다 == 6, abcd = 4
*/
public static int getLength(String string) {
if (Strings.isNullOrEmpty(string)) {
return 0;
}
int length = string.length();
int charLength = 0;
for (int i = 0; i < length; i++) {
charLength += string.codePointAt(i) > 0x00ff ? 2 : 1;
}
return charLength;
}