zoukankan      html  css  js  c++  java
  • Android BaseAdapter加载多个不同的Item布局时出现UncaughtException in Thread main java.lang.ArrayIndexOutOfBoundsException: length=15; index=15

    java.lang.ArrayIndexOutOfBoundsException: length=15; index=15

    异常出现的场景:在做聊天界面时,需要插入表情,图片,文字,名片,还有几种较为复杂的布局。这时就需要用到BaseAdapter中的getViewTypeCount()和getItemViewType(int position) 方法了,在发送复杂界面时出现了这个异常。

    令人抓狂的是这个异常居然是UncaughtException,根本无法判断哪一行出错了,刚开始的时候觉得一定是数组角标越界了(网上也是这样说的),然后就是排查,各种排查。搞了一个多小时也没有搞出个所以然来。晚上回去的路上突然想到是不是getViewTypeContent出现了问题。第二天过来一查,item布局16个,而getViewTypeCount的值才15个,明显少了一个,改为16后程序就能够正常的发送和接收了。

    下面有一篇文章讲的是baseadapter和多item的http://android.amberfog.com/?p=296,讲的比较基础,但是有时候灵感就是来源于最基础的东西的

    备注:getItemViewType的返回值要从0开始,否则也会报以上的错误。

  • 相关阅读:
    Uva 11806 拉拉队 二进制+容斥原理 经典!
    CSU CHESS
    hdu 4049 Tourism Planning 状态压缩dp
    HDOJ 4661: Message Passing(找递推公式+逆元)
    HDU
    hdu4647(思路啊!)
    spoj 370. Ones and zeros(搜索+同余剪枝+链表存数(可能越界LL))
    URAL
    URAL
    hdu4614 (二分线段树)
  • 原文地址:https://www.cnblogs.com/tony-yang-flutter/p/4155018.html
Copyright © 2011-2022 走看看