EditView setSelection越界报错

2018-08-27  本文已影响0人  Sunny君907

项目中遇到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

上一篇 下一篇

猜你喜欢

热点阅读