Android问题集-RecyclerView--java.lang.ArrayIndexOutOfBoundsException: length=12; index=-1

来源:互联网 发布:看视频的软件 编辑:程序博客网 时间:2024/06/18 06:30

今天在写RecyclerView的Adapter时遇到一个异常:java.lang.ArrayIndexOutOfBoundsException: length=12; index=-1 。这个异常不难理解,指的是数组边界异常,即访问了下标为-1的。通过调试发现问题出在viewHolder.getAdapterPosition()。

由于列表中很多控件都需要写点击事件,而在点击事件基本都要用到position,所以我觉得既然都要用到就直接定义一个final  position,然后在点击事件里面直接调用。

调试时发现获取到的position为-1,所以导致了以上错误,viewHolder.getAdapterPosition()写在点击事件里面才能获取到正确的position,因为只有用户点击了某个条目才知道用户操作的是哪个位置的。

PS:对于异常中的 length=12还是没弄明白,我的列表数据并不是12条,为什么数组长度是12呢?希望有知道的兄弟留言!

1 0
原创粉丝点击