我刚收到这个崩溃日志,但无法理解它是由什么造成的。基本上我的应用程序是文本编辑器。我在TextView上有一个TextWatcher,但我不确定它是否存在问题,因为logcat dosent包含我的应用程序的任何一行。
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 :(得分:3)
我不确定这是否可以帮助其他人,但要解决这个问题,我已经做到了这一点:
我有一个带有textwatcher的edittext。
当我说:
editText.setText("");
我收到此错误。所以要解决这个问题,我必须删除监听器,设置文本并读取监听器。
希望它可以帮助别人。
答案 1 :(得分:2)
验证,将onTextChanged的内容移动到afterTextChanged,然后查看是否从TextView $ ChangeWatcher.afterTextChanged触发了新的堆栈跟踪。
解决它,将该工作移至从该方法发布的处理程序或类似工具。
答案 2 :(得分:0)
这么晚,但对任何人都有用:
检查您的EditText
是否具有textAllCaps="true"
属性,并在需要时将其删除。