안드로이드 개발 질문/답변
(글 수 45,052)
@Override public void afterTextChanged(final Editable s) { String strText = editText01.getText().toString(); try { int length = strText.getBytes("EUC-KR").length; if(length > 90) { s.delete(s.length()-1, s.length()); editText01.setText(s.toString()); editText01.setSelection(s.length()); showDialog(0); } } catch (UnsupportedEncodingException e) { e.printStackTrace(); } }
위의 소스보면 아시겠지만 90Byte 로 제한을 하려고 합니다.
EditText 에 90Byte 적고 그것을 롱클릭해 복사한다음 붙여넣기를 하면
위의 소스대로 하니 에러가..ㅠㅠ
03-16 18:19:47.998: ERROR/AndroidRuntime(25430): FATAL EXCEPTION: main 03-16 18:19:47.998: ERROR/AndroidRuntime(25430): java.lang.StackOverflowError 03-16 18:19:47.998: ERROR/AndroidRuntime(25430): at android.text.DynamicLayout.reflow(DynamicLayout.java:261) 03-16 18:19:47.998: ERROR/AndroidRuntime(25430): at android.text.DynamicLayout.access$000(DynamicLayout.java:33) 03-16 18:19:47.998: ERROR/AndroidRuntime(25430): at android.text.DynamicLayout$ChangeWatcher.reflow(DynamicLayout.java:414) 03-16 18:19:47.998: ERROR/AndroidRuntime(25430): at android.text.DynamicLayout$ChangeWatcher.onTextChanged(DynamicLayout.java:426) 03-16 18:19:47.998: ERROR/AndroidRuntime(25430): at android.text.SpannableStringBuilder.sendTextChange(SpannableStringBuilder.java:889) 03-16 18:19:47.998: ERROR/AndroidRuntime(25430): at android.text.SpannableStringBuilder.change(SpannableStringBuilder.java:400) 03-16 18:19:47.998: ERROR/AndroidRuntime(25430): at android.text.SpannableStringBuilder.change(SpannableStringBuilder.java:269) 03-16 18:19:47.998: ERROR/AndroidRuntime(25430): at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:432) 03-16 18:19:47.998: ERROR/AndroidRuntime(25430): at android.text.SpannableStringBuilder.delete(SpannableStringBuilder.java:218) 03-16 18:19:47.998: ERROR/AndroidRuntime(25430): at android.text.SpannableStringBuilder.delete(SpannableStringBuilder.java:28)
고수님들의 손길을 기다립니다..도와주세요~