项目中遇到EditView报错
5 java.lang.IndexOutOfBoundsException:setSpan (169 ... 169) ends beyond length 168
6 android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1018)
7 android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:611)
8 android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:607)
9 android.text.Selection.setSelection(Selection.java:76)
10 android.text.Selection.setSelection(Selection.java:87)
11 android.widget.EditText.setSelection(EditText.java:107)
代码中前面对EditText进行了filter字数限制,从服务器拉取数据显示content
先et.setContent(content),
再et.setSelection(content.length)
但是还是越界了,百思不得其解,后来看有用户报错的信息,从服务器拉取的content已经超出了字数限制,原来是之前的版本对et没有进行字数限制,新版本进行字数限制后,之前content显示在EditText中产生了问题
暂时先将数据填充到EditText中,再从EditText取出内容,再计算大小,设置焦点,这样应该不会报错了吧
et.setContent(content)
val etContent =et.text.toString()
et.setSelection(etContent.length)
解决方法参考:https://www.jianshu.com/p/648a715e7484
网友评论