我遇到了一个非常棘手的问题。我的应用程序从启动页面进入以下异常期间的主页,导致应用闪回,异常信息不包含我的应用程序的任何调用堆栈信息,所以我不知道究竟是什么代码执行导致了异常
java.lang.ArrayIndexOutOfBoundsException: length=9; index=-665300980
android.text.SpannableStringBuilder.getSpanFlags(SpannableStringBuilder.java:838)
android.view.inputmethod.BaseInputConnection.removeComposingSpans(BaseInputConnection.java:94)
android.view.inputmethod.BaseInputConnection.finishComposingText(BaseInputConnection.java:450)
com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:431)
com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:93)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loop(Looper.java:154)
android.app.ActivityThread.main(ActivityThread.java:6295)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:900)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:790)
答案 0 :(得分:0)
根据你的错误我认为数组导致问题检查你的代码是否在运行时调用索引数组。 检查您的主要活动。
答案 1 :(得分:0)
我认为您使用 array.indexOf(object)来查找字符串的value索引。这就是你遇到这个问题的原因。
如果值不在字符串中,indexOf(value)将返回意外索引。
如果value在字符串中,indexOf(value)将返回原始索引。
对于EX:
String s="serach text";
int x= s.indexOf("h");//return index as 5
int y= s.indexOf("y");//return index as unexpected index
if(y>=0){
//your true case
}else{
//your false case
}
因此请在使用前检查您的索引是否有效。