listview 中出现的ArrayIndexOutOfBoundsException

记录一次自己使用listview出现的问题–数组越界。最近在做一个聊天界面,用到了Listview,加载不同类型的布局。然而,一直出现下面的异常,却未提示所在哪一行:

listview java.lang.ArrayIndexOutOfBoundsException: length=2; index=2

查了很久的资料,发现了错误原因。
由于需要ListView的item 显示两种布局,在聊天适配器中需要添加 getItemViewType(int position)getViewTypeCount() 两个方法,错误的写法如下:

  public int getItemViewType(int position) {
        MsgBean msgBean = mDatas.get(position);
        if (msgBean.getType() == MainActivity.Type.SERVER)
            return 1;
        return 2;
    }

    @Override
    public int getViewTypeCount() {
        return 2;
    }

这里,view的类型总数为2,那么getItemViewType 方法返回的类型应该为:0,1 ,而不是这里出现的1和2。不要忘了,通常都是以0开始的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值