gpt4 book ai didi

java.lang.IndexOutOfBoundsException : setSpan (N . .. N) 结束超过长度 10500

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:00:31 25 4
gpt4 key购买 nike

我在调用 EditText.setSelection() 时遇到此异常

java.lang.IndexOutOfBoundsException: setSpan (N ... N) ends beyond length 10500

N 可以是任意数字。例如,如果我调用 setSelection(10476,10568),N 将为 10568。但是 10500 是常量。

          java.lang.IndexOutOfBoundsException: setSpan (10568 ... 10568) ends beyond length 10500
at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1090)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:665)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:658)
at android.text.Selection.setSelection(Selection.java:78)
at android.widget.EditText.setSelection(EditText.java:91)
...

EditText 是否有任何限制导致这种情况?

在我进行选择之前,我加载了一个文本文件,其中肯定包含超过 10500 个字符,因为它包含 ca。 12000 行。然后我调用 EditText.setText() 将文件内容放入字段中。 EditText.setText() 没有任何问题。First I thought there is something wrong with the file contents, but I loaded another file and when the selection occurred I got the same exception and it contained ends beyond length 10500

最佳答案

这是 android.text.SpannableStringBuilder 中您的代码失败的实际方法。

private void checkRange(final String operation, int start, int end) {
if (end < start) {
throw new IndexOutOfBoundsException(operation + " " +
region(start, end) + " has end before start");
}

int len = length();

if (start > len || end > len) {
throw new IndexOutOfBoundsException(operation + " " +
region(start, end) + " ends beyond length " + len);
}

if (start < 0 || end < 0) {
throw new IndexOutOfBoundsException(operation + " " +
region(start, end) + " starts before 0");
}
}

看起来您的开始/结束长度大于 EditText 中的长度(由 length() 计算)。可能是截断的情况。

就 EditText 可以容纳的字符数而言,不受 Android 操作系统的限制,但可能受设备限制。参见 Max 9000 characters in Android TextView?还有https://groups.google.com/forum/#!topic/android-developers/JVAm8vBaIQg

关于java.lang.IndexOutOfBoundsException : setSpan (N . .. N) 结束超过长度 10500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48401681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com