ListView 适配器实现getviewtypecount() 数组越界IndexOutOfBoundException

简介:
  ListView中Item的多布局显示,需要用到了getviewtypecount和getItemViewType这两个重写方法,但是做完后出现了如下提示错误:
java.lang.ArrayIndexOutOfBoundsException: (数组越界)

  搜了原因,居然是getItemViewType这里里面返回的Type必须是从0开始的,如果getviewtypecount等于2,那么getItemViewType返回的数值是从0~1的常数。简单说,在刚开始设置type常量时,是从0开始递增的,不能乱设置。如下所示:

  

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

    @Override
    public int getItemViewType(int position) {
        MyMsg myMsg = mDatas.get(position);
        String isRead = myMsg.getIsRead();
        if ("1".equals(isRead)) {
            return 0;
        } else {
            return 1;
        }
    }

  上面代码中,在getItemViewType中,我们只能返回0,1; 记住,只能从0开始,而不能是1,2。

  再查下官方文档,有这样的一句话:
  Note: Integers must be in the range 0 to getViewTypeCount() - 1.


  如此这般,就OK啦!欢迎指正!
  如有疑问,欢迎进QQ群:487786925( Android研发村 )

相关文章
|
Android开发
解决 Android Studio 日志乱码
解决 Android Studio 日志乱码
2049 0
解决 Android Studio 日志乱码
|
数据采集 自然语言处理 搜索推荐
图文详解 DFS 和 BFS | 算法必看系列知识二十四
深度优先遍历(Depth First Search, 简称 DFS) 与广度优先遍历(Breath First Search)是图论中两种非常重要的算法,生产上广泛用于拓扑排序,寻路(走迷宫),搜索引擎,爬虫等,也频繁出现在高频面试题中。
35714 6
图文详解 DFS 和 BFS | 算法必看系列知识二十四
|
分布式计算 前端开发 Hadoop
【细节拉满】Hadoop课程设计项目,使用idea编写基于MapReduce的学生成绩分析系统(附带源码、项目文件下载地址)(三)
【细节拉满】Hadoop课程设计项目,使用idea编写基于MapReduce的学生成绩分析系统(附带源码、项目文件下载地址)(三)
972 0
|
Java 数据安全/隐私保护
异常解决 javax.crypto.AEADBadTagException: Tag mismatch!
异常解决 javax.crypto.AEADBadTagException: Tag mismatch!
2436 0
异常解决 javax.crypto.AEADBadTagException: Tag mismatch!
|
12月前
|
前端开发 API
鸿蒙开发:走进stateStyles多态样式
stateStyles为多态样式,可以依据组件的内部状态的不同,快速设置不同样式,比如背景颜色,颜色、大小等等常见的通用属性,此种行为,很类似于css中的伪类,但语法稍有不同
248 2
鸿蒙开发:走进stateStyles多态样式
|
11月前
|
人工智能 搜索推荐 机器人
人工智能与心理健康:情感支持的新形式
【10月更文挑战第31天】在科技迅速发展的今天,人工智能(AI)已渗透到生活的方方面面,特别是在心理健康领域。本文探讨了AI如何通过智能聊天机器人、情感识别与分析及个性化心理健康计划,为用户提供24小时不间断的情感支持,打破传统服务的时间和地域限制,同时面临隐私保护和伦理等挑战,未来有望与虚拟现实等技术结合,提供更丰富的心理健康服务。
|
缓存 前端开发 Android开发
安卓现代化开发系列——从状态保存到SavedState
安卓现代化开发系列——从状态保存到SavedState
328 1
|
Android开发
Android绘制竖直虚线完美解决方案—自定义View
开发中我们经常会遇到绘制虚线的需求,一般我们使用一个drawable文件即可实现,下面我会先列举常规drawable文件的实现方式。
|
XML Android开发 数据格式
TextView 代码设置最大长度之maxLength和maxEms
TextView 代码设置最大长度之maxLength和maxEms
1265 2
|
Android开发
Preference组件探究之使用说明
Preference组件探究之使用说明
Preference组件探究之使用说明