2014-10-19 78 views
2

我刚刚收到了这个崩溃日志,但无法理解它是由什么引起的。基本上我的应用程序是一个文本编辑器。我在TextView上有一个TextWatcher,但我不确定它是否存在问题,因为logcat dosent包含我的应用程序的任何行。Android java.lang.IndexOutOfBoundsException:索引1无效,大小为1

java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1 
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251) 
at java.util.ArrayList.get(ArrayList.java:304) 
at android.widget.TextView.sendOnTextChanged(TextView.java:7231) 
at android.widget.TextView.handleTextChanged(TextView.java:7290) 
at android.widget.TextView$ChangeWatcher.onTextChanged(TextView.java:8880) 
at android.text.SpannableStringBuilder.sendTextChanged(SpannableStringBuilder.java:962) 
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:496) 
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:435) 
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:30) 
at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:672) 
at android.view.inputmethod.BaseInputConnection.setComposingText(BaseInputConnection.java:435) 
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:333) 
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:77) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:5041) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
at dalvik.system.NativeStart.main(Native Method) 
+0

把你的代码放在你得到异常的地方。 – Rustam 2014-10-19 18:05:07

+0

正如我在问题中所说的,我从播放控制台收到了这个崩溃日志,所以我不知道问题出在哪里:S – 2014-10-19 18:07:08

+0

双击'logcat'并检查异常。 – Rustam 2014-10-19 18:09:44

回答

2

我不知道这是否可以帮助别人,但要修复这个bug我已经做到了这一点:

我有一个EditText,具有textwatcher。

当我说:

editText.setText(""); 

我得到这个错误。所以要解决这个问题,我必须删除监听器,设置文本并读取监听器。

希望它可以帮助别人。

+0

请将其标记为最佳回答是否是解决问题的办法。 – 2014-10-20 13:54:37

+1

@PiotrChojnacki我会尽快完成,明天。 – 2014-10-20 14:59:33

1

看起来会发生这种情况,如果您在文本观察器本身编辑文本观察器的附加状态。例如,如果我在观察者方法本身中删除了textwatcher,我就会看到这种情况。

验证,将onTextChanged的内容移动到afterTextChanged,并查看是否从TextView $ ChangeWatcher.afterTextChanged触发新的堆栈跟踪。

要解决此问题,请将该工作移至从方法或类似方法发布的处理程序。

0

这么晚了,但任何人都可以是有用的:

检查您EditTexttextAllCaps="true"属性,并根据需要将其删除。

相关问题