2014-10-19 74 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"屬性,並根據需要將其刪除。

相關問題