android谈一谈适配器(BaseMultiItemQuickAdapter)

适配器可以说几乎每个页面都会用到,作为开发3年以上的我,自认为适配器adapter这块踩坑踩得差不多了。在昨天用到BaseMultiItemQuickAdapter实现多级列表的时候深深给我上了一课,我先简单阐述下我遇到的坑,同时也说下我的解决办法:

1.多级列表实体类,适配器,item布局都可以参考下官方demo

2.假如我现在有两个itemtype,第一个itemtype有个选择框并且所有的itemtype只能选择一个,第一个itemtype定义为itemtype1,第二个itemtype定义为itemtype2.此时我在itemtype1对应的实体类中添加了一个字段标识当前itemtype1是否选中了,以便更新列表状态.ok.

3.android谈一谈适配器(BaseMultiItemQuickAdapter)_第1张图片

这部分代码就是我更新第一个itemtype1的,其中保存状态的字段。Eventbus是我发送一个更新的消息到activtiy更新列表.因为之前写项目遇到item中有选择框就用的这种方法(不是多级列表),ok运行项目,发现点击选择框的时候提示

类转化异常,显示是正常的,点击选择框就报错。找了很久,加了很多判断还是同样的错误.

最后我尝试把状态字段报错到一个map里面,而不是对应实体类。然后key值存一个唯一标识,value存状态。然后运行发现不提示错误了,此时我不知道说什么,也不知道到底之前的问题出现在哪里。

因为建议小伙伴们有遇到类似的需求用一个map存。

你可能感兴趣的:(android谈一谈适配器(BaseMultiItemQuickAdapter))