recyclerView使用中的一些坑

来源:互联网 发布:linux系统镜像制作 编辑:程序博客网 时间:2024/05/22 13:10

1) 当增加一条item数据时,一般会调用notifyItemInsert()方法来刷新数据,这时候数据确实刷新了,但是此时你点击item会发现只有新增的条目position正确,余下的item的position的位置并没有+1,其实是因为只插入了一条,所以只重新走了oncreateViewHolder   和onBindViewHolder一次,而之前已经加载出来的数据并没有重新加载,删除数据也是同理,因此有时候写点击事件就会造成数组越界,所以当我们新增一条或删除一条或者一组数据的时候应该用notifyDataSetChange()  来确保全部重新加载,这样position的位置才会都会改变,可是这样问题又来了,当我们只要增加或者删除一条时,全部刷新明显很耗时,很不划算,因此可以在写点击事件或者在需要用的pisotion的时候,不要用传进去的position,要用viewholer.getAdapterPosition()来获取item的真正position.  记录一下

其他坑待续........

3 0
原创粉丝点击