[CymChad/BaseRecyclerViewAdapterHelper]使用BaseMultiItemQuickAdapter的position问题

2024-08-08 36 views
7

使用的版本2.8.9。运行demo,来到ExpandableUseActivity,点击第一层的第一个item、Toast position为0、然后点击第二层的第一个item Toast position为1、点击第二层的第二个item Toast position为2。position升序了(根据item的总数量)。不管是在第一、二、三层(item的点击事件或者itemChild都一样)

回答

7

恩 是的,无论层级 它都是一个层级。折叠->展开:mData添加需展开的数据集,更新数据源;展开->折叠:mData移除需折叠的数据集,更新数据源。

7

那有办法拿到准确下标?

6

M

6

准确下标是指?

8

点击第一层的第一个下标不应该是0吗、那如果无论层级,那拿到第一层第一个的数据就比较麻烦了(假设要跳页面)

5

你获取数据,那也是点击后获取,这样可以直接通过adapter.getData.get(position)就可以获取相关的数据

0

所有数据都在同一层级,当根据下标拿数据的时候我就没法知道当前点击的是第一层的数据还是第二层的数据,讲白点就是:下标能不能像原生的ExpandableListView一样?抑或BaseMultiItemQuickAdapter有更好的解决办法?

7

用instanceof根据类型判断是哪个层级

6

好的,问题已经解决,感谢作者如此耐心

1

感谢 @FrankKwok

5

努力向大佬学习