美文网首页
EditView setSelection越界报错

EditView setSelection越界报错

作者: Sunny君907 | 来源:发表于2018-08-27 10:20 被阅读0次

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

    相关文章

      网友评论

          本文标题:EditView setSelection越界报错

          本文链接:https://www.haomeiwen.com/subject/njtgvftx.html