错误提示:

at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:)

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

错误原因:

给ListView编写多个item条目的时候,我们须要在Adapter适配器中重写 getItemViewType()getViewTypeCoun() 两个方法,我们通常在 getItemViewType() 中给详细的item做区分(这两个方法的返回值类型都为 int 类型),以便在 getView() 载入不同的 layout 布局,而在 getViewTypeCount() 方法中定义一共同拥有多少种不同的item,导致标题中的错误出现的原因。能够使用

answertab=votes#tab-top%20StackOverFlow" title="stackoverflow">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

at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:)的更多相关文章

  1. java.lang.ClassCastException: android.widget.ImageButton异常处理

    在调程序时总是出现异常关闭的现象,log显示: 03-26 07:58:09.528: E/AndroidRuntime(398): Caused by: java.lang.ClassCastExc ...

  2. java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams

    java.lang.ClassCastException: android.widget.RelativeLayout$LayoutParams cannot be cast to android.w ...

  3. NullPointerException at android.widget.AbsListView.obtainView at android.widget.ListView.makeAndAddView

    使用ExpandableListView的时候,报如下错.网上搜索发现原来是在CommonNumberQueryAdapter的getGroupView()方法里返回的是null,注意细节哦!!! 1 ...

  4. 解决 android.view.ViewGroup$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams

    错误日志1: 06-13 10:55:50.410: E/KVLog(1129): Error info:java.lang.ClassCastException: android.widget.Li ...

  5. 关于java.lang.NoSuchMethodError: android.widget.RelativeLayout.setBackground的解决办法

    今天用一个安卓4.0.4版本的手机测试手上的项目,发现logcat弹出这样一个提示“java.lang.NoSuchMethodError: android.widget.RelativeLayout ...

  6. java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to android.widget.ProgressBar$SavedState

    java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to android.widget.Progress ...

  7. java.lang.ClassCastException: android.widget.RelativeLayout cannot be cast to android.widget.TextView

    最近在学习drawerLayout时,遇到这个bug.如下示: java.lang.ClassCastException: android.widget.RelativeLayout cannot b ...

  8. Android开发报错系列(一),java.lang.NullPointerException,at android.widget.ListView.setupChild

    问题描述:运行代码是报空指针错误,java.lang.NullPointerException,at Android.widget.ListView.setupChild 问题定位:listview控 ...

  9. java.lang.ClassCastException: android.view.ViewGroup$LayoutParams cannot be cast to android.widget.L(转)

    09-09 10:19:59.979: E/AndroidRuntime(2767): FATAL EXCEPTION: main09-09 10:19:59.979: E/AndroidRuntim ...

随机推荐

  1. poj 1734 Sightseeing trip判断最短长度的环

    Sightseeing trip Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5590   Accepted: 2151 ...

  2. 【Luogu】P2155沙拉公主的困惑(数论)

    题目链接 数论果然是硬伤qwq 还是智商上的硬伤 我们来讲两个道理 No.1 求1~i!中与i!互质的数的个数 实际上就是求i!的欧拉函数 有如下递推式: f[1]=1 if(i为合数) f[i]=f ...

  3. BZOJ-1085 骑士精神

    估价函数其实就是与目标状态有几个不同... 迭代启发搜索. #include <cstdlib> #include <cstdio> #include <cstring& ...

  4. .sh 和 .ksh —— 三种主要的 Shell简介(Korn shell)

    和现在的开发语言一样,语法上有些差异! 三种主要的 Shell 与其分身 在大部份的UNIX系统,三种著名且广被支持的shell 是Bourne shell(AT&T shell,在 Linu ...

  5. codeforces 449D DP+容斥

    Jzzhu and Numbers Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u ...

  6. 【CF1017D】The Wu(状压前缀和)

    题意:给定n个a[i],m个长为n的01串,定义串a与b之间的运算为a^b再按位取反,若第i位为1则运算结果加a[i] q组询问(x,y),每次询问m个串中与串x运算后答案小于等于y的串的个数 n&l ...

  7. HDU 6231 (二分+双指针)

    题意:给一个长度为n的数组,问在由这个数组的所有的区间第k小组成B数组中,第m大元素是多少 解法:这题较难的地方在于转化思维.如果去求所有区间的第k小,最坏复杂度是O(n*n)肯定超时. 这题正确的解 ...

  8. UPC 2219: A^X mod P

    题形:另类快速幂 题意: f(x) = K, x = 1 f(x) = (a*f(x-1) + b)%m , x > 1 Now, Your task is to calculate ( A^( ...

  9. AC日记——Andryusha and Socks Codeforces 780a

    A. Andryusha and Socks time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  10. Windows Phone 8 适应多屏分辨率

    Windows Phone 8 比较 windows phone 7 来说有很多功能及性能上的提升例如支持多核 CUP.支持SD卡.多种分辨率. 显然WP7 WVGA - 480x800 的已经不能完 ...