java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1

项目场景:

今天博主遇到一个问题,忙的焦头烂额,其实就是一个拿取数据显示到列表的需求,但是却让我一时手足无措

问题描述:

实体类经后台改过之后在里面又新加一个静态内部类,我还是按照以往的思路,先请求数据、然后实体类、适配…显示,但是这出却出了问题

在这里插入图片描述
如图所示,请求出来的九个数据只显示出来了一条,我就看日志

在这里插入图片描述
很显然——下标溢出,给我奇怪的不得了,然后我就找各种,刚开始以为是数据的问题,然后又重新请求…依然没解决,然后我就开始打断点
在这里插入图片描述
很显然,是拿到数据了的,但是奈何只能拿到第一个,但是我在检查适配器的时候发现
在这里插入图片描述
一直卡在设置名称不往下走,但是position是一直在改变的,然后我重新审视设置数据的方法发现,我一直用的都是position作为下标设置的数据,但是每个下表对应的bean类里面只有一条数据,position一直在改变,那说明那bean类里面的数据下标也跟着改变,我尝试把bean类里的position改成0,只拿第一条数据然后测试
在这里插入图片描述
数据正常显示


原因分析:

适配器设置数据的时候一直拿position作为下标,一般情况下是不会出问题的,但是有的数据源的实体类有点特殊,就有可能出现问题,所以我们一定根据实体类情况来设置

解决方案:

修改设置数据的下标

猜你喜欢

转载自blog.csdn.net/m0_46366678/article/details/119774842