- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一份指示 IndexOutOfBoundsException
的崩溃报告,但我不知道是什么原因导致的,因为堆栈中没有我的代码中的任何内容。这是堆栈:
Fatal Exception: java.lang.IndexOutOfBoundsException: setSpan (34 ... 48) ends beyond length 34
at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1265)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:684)
at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:677)
at android.widget.Editor$SuggestionsPopupWindow.updateSuggestions(Editor.java:3980)
at android.widget.Editor$SuggestionsPopupWindow.show(Editor.java:3833)
at android.widget.Editor.replace(Editor.java:435)
at android.widget.Editor$3.run(Editor.java:2359)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)
我发现的唯一与我的问题相似的是 this但是那个人无法解决它。
我怎样才能知道是什么原因造成的,以便我寻找解决方案?
编辑
好的,所以我发现在我的大代码的多个部分都使用了这个函数:
public static Spannable spannabletext(String message, int start, int end, String font_family, Typeface font) {
Spannable spannable = new SpannableString(Html.fromHtml(message));
spannable.setSpan(new CustomTypefaceSpan(font_family, font),
start, end, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
return spannable;
}
所以我猜测在某些时候这就是问题的来源。但是因为我不想花很多时间来猜测是哪个文本和哪种语言(我的应用程序有 8 种不同的语言)是这个崩溃产生的我会等到它再次发生但是这次我添加了一些Crashlytics
行,以便我可以从崩溃报告中获取更多信息。所以我的 spannabletext
函数现在是这样的:
public static Spannable spannabletext(String message, int start, int end, String font_family, Typeface font, Activity activity) {
Crashlytics.setString("activity", activity.getLocalClassName());
Crashlytics.setString("message", message);
Crashlytics.setInt("start", start);
Crashlytics.setInt("end", end);
Spannable spannable = new SpannableString(Html.fromHtml(message));
spannable.setSpan(new CustomTypefaceSpan(font_family, font),
start, end, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
return spannable;
}
我会及时通知你..
最佳答案
错误不是由您的代码引起的。查看堆栈:在 android.widget.Editor$SuggestionsPopupWindow.updateSuggestions(Editor.java:3980)
长按文本以显示 PopWindow 时发生。所以这是一个框架错误,不是你的。
这个答案更好:EditText crashing on clearing text
Problem is "updateSuggestions" try to setSpan after you change text in EditText. So you need make text change after editor modify EditText. Just put your code in view.post
mEditText.post {
mEditText.setText("your text")
}
关于java - IndexOutOfBoundsException setSpan (34 ... 48) 结束超过长度 34,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48577562/
我使用这个 cmd 应用程序 https://github.com/tokland/youtube-upload 上传 50 个视频后,我收到此错误: [RequestError] Server re
尝试将 docker 容器提交到镜像时出现错误: [root@dockerregistry /]# docker commit da4180ab1536 dockerregistry:5000/myi
我只是想知道这样做会更好吗: if((fd = open(filename, O_RDWR)) == -1) { fprintf(stderr, "open [ %s ]\n", strerror(e
我在我的开发机器(单个笔记本)中使用 Elasticsearch 1.4.4。一切都设置为默认值,因为我从未更改过任何设置。 当我启动它时,我通常会收到以下消息: [2015-10-27 09:38:
我收到错误 Lock wait timeout exceeded;尝试重新启动事务。这是什么原因,如何解决?仅供引用:MySQL 配置文件中的 innodb_lock_wait_timeout = 1
我对 Slack 中的 block 功能有疑问。有人设法构建 3 列而不是 2 列吗? 我凭直觉尝试了以下代码,但它不起作用: { "blocks": [ {
div 中的内容超过由 css 决定的固定大小。 #fixeddiv { position: fixed; margin: auto; max-height: 300px
我想将 EditText 字段限制为 150 个字符,我可以很容易地做到这一点。但是,当用户试图超过该限制时,我还需要通过键入(即第 151 个字符)或粘贴超过 150 个字符来提醒用户。 解决这个问
我目前正在使用此代码并排记录两个窗口: ffmpeg -f gdigrab -framerate 30 -i title="" -f gdigrab -framerate 30 -i title=""
我在几个包含长字符串的单元格上使用嵌套的 SUBSTITUE 函数,并定期更新 SUBSTITUE fx,这导致我将其复制并粘贴到所有需要它的单元格中。问题是,我的 SUBSTITUTE 列表会随着时
我创建了一个标题 div,如下所示:
Here is the demo link 您怎么看,页面中只有 8 个广告可见,但我有 14 个广告。我已阅读有关广告限制的信息 here但不明白是不是我的情况?有人可以给我确切的答案,为什么我看不
我的非常简单的算法 - C 中的快速排序有问题。它非常有效(随机化大约 0.1 秒并检查列表是否已排序)但是当我想要对超过 500k 的元素进行排序时它会崩溃。不幸的是,我需要对它们进行更多排序,因为
我成功解决了一个关于 Hackerrank 的问题,它通过了所有测试用例,但我得到了一个错误,超过了时间限制。我猜如果我优化我的代码它会工作,但我想不出任何方法来使我的代码更有效率。 问题是: 对大小
你会如何用 包围下面的文字3 个反引号 ```使用 tpope 的 Vim Surround . 我所能做的就是 1 个反引号 使用 S`在视觉模式下: 最佳答案 这不是你问的,但这可以在没有环绕的情
我目前有一个模拟账户。我正在尝试为我的雇主使用 SwifType 制作 POC。我们有一个非常大的数据库,每 1 小时索引一次,并创建一个 JSON 文件。我认为与 Elastic 的集成将非常容易,
我为一个大约有 100 到 120 名成员的小型组织维护网站。 每个月,我们都会发送一封电子邮件,通知我们的成员我们将在即将举行的 session 中讨论的主题。 我正在尝试使用我们的网站为我们提供一
这个问题已经有答案了: How to automatically input an array formula as string with more than 255 characters in l
我有一个在 JBoss 6.1 中运行的 JSF 应用程序,它使用内部Tomcat Servlet 容器。 我已经通过apache commons文件上传实现了上传。我想防止上传过大的文件并设置了属性
当我尝试在 PyMySQL 上执行查询时,出现以下错误: pymysql.err.InternalError: (1205, 'Lock wait timeout exceeded; try rest
我是一名优秀的程序员,十分优秀!