數組越界 —— 解決方法



java.lang.ArrayIndexOutOfBoundsException: length=3; index=3 at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:6588) at android.widget.AbsListView.trackMotionScroll(AbsListView.java:4941) at android.widget.AbsListView$FlingRunnable.run(AbsListView.java:4539) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.Choreographer.doCallbacks(Choreographer.java:580) at android.view.Choreographer.doFrame(Choreographer.java:549) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135)at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)


  近日,在項目過程中,突然出現一個Bug,上面就是錯誤的提示信息,沒有定位到哪一行,從信息中能夠看出是ListView的問題。 於是就想是不是
刷新界面的時候,沒有清空數據,於是清空數據后還是不行。糾結了很久,最后發現是 getItemViewType的問題,因為這里的ListView要顯示三種布局,所以
getViewTypeCount設置為3,但是getItemViewType返回的數要從0開始,因為如果從1開始的話,返回就分別為1,2,3,就會出現上面的問題。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM