ListView使用itemType遇到的问题
来源:互联网 发布:java线程和进程区别 编辑:程序博客网 时间:2024/06/05 06:47
一. ListView 添加多类型布局
- 重写getViewTypeCount(),返回拥有的布局类型个数。
重写getItemViewType(int position):根据position返回类型
注意:此处返回的类型可定义为常量,且从0开始,否则可能出现数组越界异常
java.lang.ArrayIndexOutOfBoundsException: length=2; index=2
at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:6705)
3、重写getView方法,根据position调用getItemViewType(int position)方法来判断不同的item布局类型,之前使用传统的viewHolder缓存机制即可。
注意:在ListView的缓存机制中,会根据布局类型的个数,创建一个ArrayList<View>[] mScrapViews来缓存convertView ,每一个ArrayList是一类布局的复用converView,故每个item类型传入的复用convertView肯定就是对应的类型布局view。
二.ListView 中的getViewTypeCount()使用动态设置遇到的问题
为了在初始化时给listView 设置适配器,重写了一个没有数据源的适配器构造器,然后写了一个setData()方法设置数据,然后在此方法中计算ViewTypeCount,导致在设置数据后,复用过程中出现了 复用的convertView 和 类型不匹配的情况,导致viewHolder为空,出现空指针异常。这种情况就需要每次创建适配器给ListView,不能再动态数据源。
阅读全文
0 0
- ListView使用itemType遇到的问题
- 使用listview的多种itemtype的时候的注意事项
- ListView使用遇到的问题
- 使用ListView时遇到的问题
- 使用ListView时遇到的问题
- android recyclerView adapter 的 itemType的使用
- 天天记录 - Android ListView itemType使用Holder原理简单分析
- listView遇到的问题
- 问题-ListView 使用的时候,已经遇到的问题;
- 关于使用ListView时遇到的一些问题
- 解决ListView嵌套ListView遇到的问题
- listview addheadview() 遇到的问题
- item中新建两个itemtype 使用相同的 typecode
- listview中自定义baseadapter遇到的问题
- 美化listview时遇到的问题
- Android中扩展ListView遇到的问题
- listView滚动动画遇到的问题
- 关于ScrollView嵌套Listview遇到的问题
- 查询数据库的索引信息
- java 设计模式之单例模式
- Siri真的要离开我们了?
- poj 3090 欧拉函数简单应用
- H3C常用命令-3
- ListView使用itemType遇到的问题
- 根据xsl模板及xml数据文件生成pdf(文字内容复制不乱码)
- mybatis动态sql中的trim标签的使用
- hudson maven svn 搭建+自动部署
- iOS 禁止侧滑手势返回上级
- 用一个例子来理解c++中的重载
- Android---网络编程之简易新闻客户端
- OpenCV问题集锦,图片显示不出来,WaitKey(0),imread()不能读图片,未经处理的异常,等问题集合
- log4j的使用