마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

제발도와주세요!! 안드로이드에서 html파싱을 하고있는데 에러가납니다..(IndexOutOfBoundsException관련,logcat 유)

0 추천
08-13 22:35:44.889: E/AndroidRuntime(31840): FATAL EXCEPTION: Thread-26099
08-13 22:35:44.889: E/AndroidRuntime(31840): Process: com.example.accessweb, PID: 31840
08-13 22:35:44.889: E/AndroidRuntime(31840): java.lang.IndexOutOfBoundsException: Invalid index 5, size is 3
08-13 22:35:44.889: E/AndroidRuntime(31840): at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
08-13 22:35:44.889: E/AndroidRuntime(31840): at java.util.ArrayList.get(ArrayList.java:308)
08-13 22:35:44.889: E/AndroidRuntime(31840): at com.example.parse.HTMLParser$1.run(HTMLParser.java:72)
08-13 22:35:45.439: E/WindowManager(31840): android.view.WindowLeaked: Activity com.example.accessweb.AccessWebDemo has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{42a47980 V.E..... R......D 0,0-1026,288} that was originally added here
08-13 22:35:45.439: E/WindowManager(31840): at android.view.ViewRootImpl.<init>(ViewRootImpl.java:456)
08-13 22:35:45.439: E/WindowManager(31840): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:267)
08-13 22:35:45.439: E/WindowManager(31840): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
08-13 22:35:45.439: E/WindowManager(31840): at android.app.Dialog.show(Dialog.java:288)
08-13 22:35:45.439: E/WindowManager(31840): at android.app.ProgressDialog.show(ProgressDialog.java:116)
08-13 22:35:45.439: E/WindowManager(31840): at android.app.ProgressDialog.show(ProgressDialog.java:99)
08-13 22:35:45.439: E/WindowManager(31840): at android.app.ProgressDialog.show(ProgressDialog.java:94)
08-13 22:35:45.439: E/WindowManager(31840): at com.example.parse.HTMLParser$1$1.run(HTMLParser.java:58)
08-13 22:35:45.439: E/WindowManager(31840): at android.os.Handler.handleCallback(Handler.java:733)
08-13 22:35:45.439: E/WindowManager(31840): at android.os.Handler.dispatchMessage(Handler.java:95)
08-13 22:35:45.439: E/WindowManager(31840): at android.os.Looper.loop(Looper.java:157)
08-13 22:35:45.439: E/WindowManager(31840): at android.app.ActivityThread.main(ActivityThread.java:5356)
08-13 22:35:45.439: E/WindowManager(31840): at java.lang.reflect.Method.invokeNative(Native Method)
08-13 22:35:45.439: E/WindowManager(31840): at java.lang.reflect.Method.invoke(Method.java:515)
08-13 22:35:45.439: E/WindowManager(31840): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
08-13 22:35:45.439: E/WindowManager(31840): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
08-13 22:35:45.439: E/WindowManager(31840): at dalvik.system.NativeStart.main(Native Method)
 
 
log cat이 위와 같습니다...
아직 초보자라서 ㅠㅠㅠ 저게 무슨뜻인지.. 어디에서 문제이고 무엇을 고치라는지 감이안잡힙니다.
구글링을 해보니 IndexOutOfBoundsException은 보통 배열이나 벡터의 크기를 넘어서는 값을 요구할때 나타나는 오류라고하는데,,  제가 사용한 배열은 private ArrayList<HashMap<String, String>> timetable; 입니다.
이게 문제인걸까요? 그리고 이걸 어떻게 고쳐야하는건가요?
도와주세요 고수님들!!
 
익명사용자 님이 2014년 8월 13일 질문

1개의 답변

0 추천
HTMLParser가 직접만든 클래스인가요?

72번째줄에서 arraylist 갯수가 3갠데 5번째걸 가지고올려고해서 나오는 에러네요.

arraylist갯수가 3개가맞는지, 왜 index가 5를 가리키는건지 살펴보세요.
기초개발자 (24,060 포인트) 님이 2014년 8월 13일 답변
...