밑의 소스는 EditText에 10byte까지 입력받고 넘어갈 경우 길이를 잘라서 10byte를 유지하는 소스입니다.

 

영어는 단어당 1byte이고 한글은 2byte인데 영어만 넣을때는 문제가없는데 한글을 넣을경우 스택오버플로우 에러가 납니다.

 

어떻게 하면 한글까지 EditText에 계속 입력을 하더라도 10byte를 유지한 채 있을수 있을까요?

 

 

TextWatcher watcher = new TextWatcher() {
  @Override
  public void onTextChanged(CharSequence s, int start, int before, int count) {
  }
  @Override
  public void beforeTextChanged(CharSequence s, int start, int count,
    int after) {
  }
  @Override
  public void afterTextChanged(Editable s) {
   String after_text = s.toString();
   try
   {
    byte[] getbyte = after_text.getBytes("KSC5601");
    if(getbyte.length > 10)
    {
     s.delete(s.length()-2, s.length()-1);
     ATLog.d("s" , "s : " + s);
    }
   }catch (Exception e) {}
  }
 };