at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:)
- 错误提示
- 错误原因
- 參考链接
错误提示:
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:)相关推荐
- java.lang.ClassCastException:android.widget.Button cannot be cast to android.widget.ImageView
今天遇到一个错误也不知道怎么回事,上网搜了一下: 出现的问题是:java.lang.ClassCastException:android.widget.Button cannot be cast to ...
- 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 ...
- java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.widg
有时候需要在在代码中设置LayoutParams,自己为一个FrameLayout设置LayoutParams的时候,遇上如题问题: java.lang.ClassCastException: and ...
- 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. ...
- android与PC,C#与Java 利用protobuf 进行无障碍通讯【Socket】
protobuf 是什么? Protocol buffers是一种编码方法构造的一种有效而可扩展的格式的数据. 谷歌使用其内部几乎RPC协议和文件格式的所有协议缓冲区. 参考文档 http://cod ...
- Android高手进阶教程(八)之----Android Widget开发案例(世界杯倒计时!)
今天我们要写一下Android Widget的开发,由于快点凌晨,我就不说的太具体了,同志们就模仿吧!首先看一下效果图: 下面是Demo的详细步骤: 一.新建一个Android工程命名为:Widget ...
- Android IOC模块,利用了Java反射和Java注解
一.整体工程图 二.BaseActivity.java [java] view plaincopy package com.jltxgcy.framework; import android.os.B ...
- No resource found that matches the given name 'android:Widget.Material.ActionButton'.
Eclipse 下搭建Android 开发环境(环境搭建参考:点击打开链接) 搭建完成后,新一个Andoroid 项目,出现如下错误: [2014-11-19 14:16:34 - appcompat ...
- 基于 Android NDK 的学习之旅-----Java 调用C(附源码)
基于 Android NDK 的学习之旅-----Java 调用C 随便谈谈为什么要Java调用C 吧: 我认为: 1. 有些公司开发Android项目的时候, 许多组件功能可能是C中已经实现了,所 ...
最新文章
- try catch语句 java_深入剖析java的try…catch…finally语句
- python快速入门答案-总算懂得python脚本快速入门教程
- vue 心跳监控_vue websocket 加心跳
- 阿云搭建php博客,阿云的应聘故事
- Launcher(待完善...)
- 卓金武——从数学建模到MATLAB
- 前端学习(2261)总结
- java 递归调整为队列
- 如何在A用户下建立视图,这个视图是A的表与B的表进行关联的?
- MySQL单机多实例部署详解之------多实例分别定义不同的配置文件
- [PTA] 数据结构与算法题目集 6-10 二分查找
- ssis导出数据性能_如何使用SSIS将数据从Excel导出到Azure SQL数据库中的多个表
- centos 6.4扩展挂载点磁盘空间
- 在Objective-C中,如何测试对象类型?
- TF-tf.keras.layers.Conv1D
- Java贪吃蛇小游戏,我家小AD从小水蛇成长为水中巨蟒!
- 使用JMeter录制脚本并调试
- mysql数据库多表查询出来多条重复数据--处理方法--distinct
- 怎样删除手机自带软件?
- 本周测试服务器角色转移系统仅开放转入,梦幻西游3月11日更新一览
热门文章
- python自动化办公入门书籍推荐-盘点使用Python进行自动化办公所需要的知识点
- 零基础python入门书籍-零基础如何学好python?推荐6本入门书籍,帮你打基础
- python for-Python for windows官方版
- python画图哆啦a梦-python 绘制哆啦A梦
- python详细安装教程linux-Linux系统如何安装Python?新手教程
- python3最新稳定版本-Python 3.9.0 稳定版发布
- python自动化办公都能做什么菜-python接口自动化
- python代码示例下载-Python实现多线程下载脚本的示例代码
- ubuntu查看python版本-linux查看python安装路径,版本号
- python可以做什么项目-python都能做什么