当listview中itemviewtype不同时,怎么使用adapter.notifyDataSetChanged()?

DaleChe 发布于 2016/06/15 10:27
阅读 328
收藏 0
listview中itemviewtype不同,怎么使用adapter.notifyDataSetChanged()刷新数据,避免不同视图类型之间强制装换异常
加载中
0
monroe
monroe

ListView 之前和别人讨论过,借助别人的实现,自己做了这么一个 demo 。

https://github.com/yanglw/MultiItem

RecyclerView 可以使用这个,这个扩展性更高。ListView 也可以借助这个项目的思想做一套。

https://github.com/sockeqwe/AdapterDelegates

0
DaleChe
DaleChe
用了一个自我感觉不太好的方法,重新设置了adapter。。。
0
p
pekingese
不明白itemType不同,为何会造成强制转换异常,正确的编写adapter是不会出现这种问题的
p
pekingese
不是的,listview设计就是支持多viewtype的,建议百度学习下
DaleChe
DaleChe
@pekingese 嗯,已经改好了,把if(view==null)去掉,直接用notifyDataSetChange就可以了,只是视图应为类型不同不能复用了
p
pekingese
回复 @DaleChe : 直接notifyDataSetChange就行啊,为何要重新设置adapter
DaleChe
DaleChe
比如listview的itemviewtype分别为123 现在我想换一下item的位置,假设改成321,这样做的话除了重新设置adapter还有真么优化的办法吗?
返回顶部
顶部