chinalwb / Android-Rich-text-Editor

Android Rich Text Editor With customized spans - 富文本编辑器 - Don't miss this one :)
Apache License 2.0
845 stars 166 forks source link

Are_Hr导致崩溃 #90

Open vanzh opened 5 years ago

vanzh commented 5 years ago

如下操作必现,在添加一个AreHr之后,光标移动到该AreHr行首,再次点击添加Are_Hr ,崩溃。 设备 小米 Android 8.0, 荣耀android5.1.1都出现,不过9.0却没有出现。 崩溃日志(Android 8.0) : 2019-08-29 17:50:44.881 9982-9982/com.chinalwb.are.demo E/AndroidRuntime: FATAL EXCEPTION: main Process: com.chinalwb.are.demo, PID: 9982 java.lang.IndexOutOfBoundsException: 74, -2 at android.text.PackedIntVector.deleteAt(PackedIntVector.java:222) at android.text.DynamicLayout.reflow(DynamicLayout.java:317) at android.text.DynamicLayout.-wrap0(Unknown Source:0) at android.text.DynamicLayout$ChangeWatcher.reflow(DynamicLayout.java:750) at android.text.DynamicLayout$ChangeWatcher.onSpanChanged(DynamicLayout.java:779) at android.text.SpannableStringBuilder.sendSpanChanged(SpannableStringBuilder.java:1292) at android.text.SpannableStringBuilder.sendToSpanWatchers(SpannableStringBuilder.java:647) at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:577) at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:504) at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:502) at com.chinalwb.are.styles.ARE_Hr$1.onClick(ARE_Hr.java:51) at android.view.View.performClick(View.java:6266) at android.view.View$PerformClick.run(View.java:24730) at android.os.Handler.handleCallback(Handler.java:793) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:173) at android.app.ActivityThread.main(ActivityThread.java:6698) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)

荣耀android5.1.1 日志: Process: com.chinalwb.are.demo, PID: 22892 java.lang.IndexOutOfBoundsException: getChars (6 ... 4) has end before start at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1015) at android.text.SpannableStringBuilder.getChars(SpannableStringBuilder.java:919) at android.text.TextUtils.getChars(TextUtils.java:86) at android.text.MeasuredText.setPara(MeasuredText.java:106) at android.text.StaticLayout.generate(StaticLayout.java:534) at android.text.DynamicLayout.reflow(DynamicLayout.java:285) at android.text.DynamicLayout.access$000(DynamicLayout.java:36) at android.text.DynamicLayout$ChangeWatcher.reflow(DynamicLayout.java:639) at android.text.DynamicLayout$ChangeWatcher.onSpanChanged(DynamicLayout.java:668) at android.text.SpannableStringBuilder.sendSpanChanged(SpannableStringBuilder.java:1005) at android.text.SpannableStringBuilder.sendToSpanWatchers(SpannableStringBuilder.java:590) at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:523) at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:454) at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:33) at com.chinalwb.are.styles.ARE_Hr$1.onClick(ARE_Hr.java:51)

chinalwb commented 5 years ago

多谢反馈。之前开发时遇到过由于Android8.0上的textview导致的闪退。我看下。

chinalwb commented 5 years ago

@vanzh 我在Android 8的模拟器测试 没重现啊

vanzh commented 4 years ago

可能是我改动了什么东西导致,你的最新的demo 没有这个问题。