02-26 18:45:22.793: E/AndroidRuntime(30449): FATAL EXCEPTION: main
02-26 18:45:22.793: E/AndroidRuntime(30449): Process: cn.beeba.app, PID: 30449
02-26 18:45:22.793: E/AndroidRuntime(30449): java.lang.IndexOutOfBoundsException: setSpan (26 ... 26) ends beyond length 10
02-26 18:45:22.793: E/AndroidRuntime(30449): at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1018)
02-26 18:45:22.793: E/AndroidRuntime(30449): at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:611)
02-26 18:45:22.793: E/AndroidRuntime(30449): at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:607)
02-26 18:45:22.793: E/AndroidRuntime(30449): at android.text.Selection.setSelection(Selection.java:76)
02-26 18:45:22.793: E/AndroidRuntime(30449): at android.text.Selection.setSelection(Selection.java:87)
02-26 18:45:22.793: E/AndroidRuntime(30449): at android.widget.EditText.setSelection(EditText.java:99)
出现此问题的原因是限制的字符为10,但是字符太长时,就会出现以上错误。
解决办法为:
if (length <= 10) {
et_content.setSelection(length); // 将光标移至文字末尾
}