• 错误提示
  • 错误原因
  • 參考链接

错误提示:

at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:)
在Android中给ListView写多个不同的item布局的时候,我遇到了一个标题中的数组越界错误,事实上这个错误之前我已经遇到过。但这次我还是又一次认识了一下这个错误的产生原因。

错误原因:

给ListView编写多个item条目的时候,我们须要在Adapter适配器中重写 getItemViewType()getViewTypeCoun() 两个方法,我们通常在 getItemViewType() 中给详细的item做区分(这两个方法的返回值类型都为 int 类型),以便在 getView() 载入不同的 layout 布局,而在 getViewTypeCount() 方法中定义一共同拥有多少种不同的item,导致标题中的错误出现的原因。能够使用 StackOverflow 中的一句话来解释:“The item view type you are returning from getItemViewType() is >= getViewTypeCount().”。中文意思就是 getViewTypeCount() 的值必须大于 getItemViewType() 的值,反之,则会出现标题中的错误,通常,我们从 1 開始给不同的item设置 Type 类型。举个栗子来说。我们设置了 Type为1 和 Type为2的item类型,然后在 getViewTypeCount() 方法中返回了 2。 这种话 getViewTypeCount() 的值就和Type为2的时候返回值相等了。于是出现了标题所看到的的数据越界错误,通常我们把 Type 值设置为从0開始计数就可以保证最大值的 Type 类型也不会大于 getViewTypeCount() 方法的返回值。getItemViewType() 源代码中的凝视也提醒我们:”Integers must be in the range 0 to {@link #getViewTypeCount} - 1“。

參考链接:

http://lmbj.net/blog/arrayindexoutofboundsexception/
http://www.cnblogs.com/xitang/p/3197158.html

转载于:https://www.cnblogs.com/gcczhongduan/p/5271753.html

at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:)相关推荐

  1. java.lang.ClassCastException:android.widget.Button cannot be cast to android.widget.ImageView

    今天遇到一个错误也不知道怎么回事,上网搜了一下: 出现的问题是:java.lang.ClassCastException:android.widget.Button cannot be cast to ...

  2. Error:Attempt to invoke virtual method ‘void android.widget.TextView.setText(java.lang.CharSeq

    在进行Android开发学习是遇到一个error:Attempt to invoke virtual method 'void android.widget.TextView.setText(java ...

  3. java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.widg

    有时候需要在在代码中设置LayoutParams,自己为一个FrameLayout设置LayoutParams的时候,遇上如题问题: java.lang.ClassCastException: and ...

  4. java.lang.NullPointerException: Attempt to read from field ‘android.widget.TextView com.example.demo

    报错: java.lang.NullPointerException: Attempt to read from field 'android.widget.TextView com.example. ...

  5. android与PC,C#与Java 利用protobuf 进行无障碍通讯【Socket】

    protobuf 是什么? Protocol buffers是一种编码方法构造的一种有效而可扩展的格式的数据. 谷歌使用其内部几乎RPC协议和文件格式的所有协议缓冲区. 参考文档 http://cod ...

  6. Android高手进阶教程(八)之----Android Widget开发案例(世界杯倒计时!)

    今天我们要写一下Android Widget的开发,由于快点凌晨,我就不说的太具体了,同志们就模仿吧!首先看一下效果图: 下面是Demo的详细步骤: 一.新建一个Android工程命名为:Widget ...

  7. Android IOC模块,利用了Java反射和Java注解

    一.整体工程图 二.BaseActivity.java [java] view plaincopy package com.jltxgcy.framework; import android.os.B ...

  8. No resource found that matches the given name 'android:Widget.Material.ActionButton'.

    Eclipse 下搭建Android 开发环境(环境搭建参考:点击打开链接) 搭建完成后,新一个Andoroid 项目,出现如下错误: [2014-11-19 14:16:34 - appcompat ...

  9. 基于 Android NDK 的学习之旅-----Java 调用C(附源码)

    基于 Android NDK 的学习之旅-----Java 调用C 随便谈谈为什么要Java调用C 吧: 我认为: 1.  有些公司开发Android项目的时候, 许多组件功能可能是C中已经实现了,所 ...

最新文章

  1. try catch语句 java_深入剖析java的try…catch…finally语句
  2. python快速入门答案-总算懂得python脚本快速入门教程
  3. vue 心跳监控_vue websocket 加心跳
  4. 阿云搭建php博客,阿云的应聘故事
  5. Launcher(待完善...)
  6. 卓金武——从数学建模到MATLAB
  7. 前端学习(2261)总结
  8. java 递归调整为队列
  9. 如何在A用户下建立视图,这个视图是A的表与B的表进行关联的?
  10. MySQL单机多实例部署详解之------多实例分别定义不同的配置文件
  11. [PTA] 数据结构与算法题目集 6-10 二分查找
  12. ssis导出数据性能_如何使用SSIS将数据从Excel导出到Azure SQL数据库中的多个表
  13. centos 6.4扩展挂载点磁盘空间
  14. 在Objective-C中,如何测试对象类型?
  15. TF-tf.keras.layers.Conv1D
  16. Java贪吃蛇小游戏,我家小AD从小水蛇成长为水中巨蟒!
  17. 使用JMeter录制脚本并调试
  18. mysql数据库多表查询出来多条重复数据--处理方法--distinct
  19. 怎样删除手机自带软件?
  20. 本周测试服务器角色转移系统仅开放转入,梦幻西游3月11日更新一览

热门文章

  1. python自动化办公入门书籍推荐-盘点使用Python进行自动化办公所需要的知识点
  2. 零基础python入门书籍-零基础如何学好python?推荐6本入门书籍,帮你打基础
  3. python for-Python for windows官方版
  4. python画图哆啦a梦-python 绘制哆啦A梦
  5. python详细安装教程linux-Linux系统如何安装Python?新手教程
  6. python3最新稳定版本-Python 3.9.0 稳定版发布
  7. python自动化办公都能做什么菜-python接口自动化
  8. python代码示例下载-Python实现多线程下载脚本的示例代码
  9. ubuntu查看python版本-linux查看python安装路径,版本号
  10. python可以做什么项目-python都能做什么