04-02 11:03:57.922: E/AndroidRuntime(18952): FATAL EXCEPTION: main
04-02 11:03:57.922: E/AndroidRuntime(18952): java.lang.Arrayindexoutofboundsexception: length=4; index=4
04-02 11:03:57.922: E/AndroidRuntime(18952): at it.nad.cartellecliniche.fragment.SegmentoAnterioreFragment.onTaskComplete(SegmentoAnterioreFragment.java:471)
04-02 11:03:57.922: E/AndroidRuntime(18952): at it.nad.cartellecliniche.asynctask.LookupTask.onPostExecute(LookupTask.java:279)
04-02 11:03:57.922: E/AndroidRuntime(18952): at it.nad.cartellecliniche.asynctask.LookupTask.onPostExecute(LookupTask.java:1)
04-02 11:03:57.922: E/AndroidRuntime(18952): at android.os.AsyncTask.finish(AsyncTask.java:631)
04-02 11:03:57.922: E/AndroidRuntime(18952): at android.os.AsyncTask.access$600(AsyncTask.java:177)
04-02 11:03:57.922: E/AndroidRuntime(18952): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
04-02 11:03:57.922: E/AndroidRuntime(18952): at android.os.Handler.dispatchMessage(Handler.java:99)
04-02 11:03:57.922: E/AndroidRuntime(18952): at android.os.Looper.loop(Looper.java:137)
04-02 11:03:57.922: E/AndroidRuntime(18952): at android.app.ActivityThread.main(ActivityThread.java:5414)
04-02 11:03:57.922: E/AndroidRuntime(18952): at java.lang.reflect.Method.invokeNative(Native Method)
04-02 11:03:57.922: E/AndroidRuntime(18952): at java.lang.reflect.Method.invoke(Method.java:525)
04-02 11:03:57.922: E/AndroidRuntime(18952): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
04-02 11:03:57.922: E/AndroidRuntime(18952): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
04-02 11:03:57.922: E/AndroidRuntime(18952): at dalvik.system.NativeStart.main(Native Method)
这是代码:
else if (typeTask.equals("LookupSegmentoAnteriore")) {
switch (resultOperation) {
case 200: {
Object[] lista = (Object[]) output[2];
listaBulbo = (String[])lista[0];
Arrays.sort(listaBulbo);
listaApparatoLacrimale = (String[])lista[1];
Arrays.sort(listaApparatoLacrimale);
listaPalpebre = (String[])lista[2];
Arrays.sort(listaPalpebre);
listaCongiuntiva = (String[])lista[3];
Arrays.sort(listaCongiuntiva);
listaCornea = (String[])lista[4];
Arrays.sort(listaCornea);
listaAnGolo = (String[])lista[5];
Arrays.sort(listaAnGolo);
listaCamera_anteriore = (String[])lista[6];
Arrays.sort(listaCamera_anteriore);
listaIride = (String[])lista[7];
Arrays.sort(listaIride);
listaPupilla = (String[])lista[8];
Arrays.sort(listaPupilla);
listaCristallino = (String[])lista[9];
Arrays.sort(listaCristallino);
break;
}
}
}
我已经在列表中添加了新元素
从:
listaCornea = (String[])lista[4];
Arrays.sort(listaCornea);
至:
listaCristallino = (String[])lista[9];
Arrays.sort(listaCristallino);
有人可以帮我解决这个问题吗?我不知道如何管理数组长度问题.我刚刚将新元素添加到列表中,但我不知道这是否是正确的形式.我需要调整阵列的大小吗?我怎么能这样做?
非常感谢
最佳答案
问题是您的数组可能声明只有4个房间,这意味着您可以访问最大索引3
但是在上面的代码中你会访问第4个索引,那么它会抱怨你的索引绑定了,你的长度是4,
但是在上面的代码中你会访问第4个索引,那么它会抱怨你的索引绑定了,你的长度是4,
你应该使用ArrayList而不是array,因为Array声明后不能调整大小,
但你可以添加任意数量的对象到arraylist.
ArrayList
原文地址:https://www.jb51.cc/android/431058.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。