Android之RecycleView的使用--ViewHolder实例化错误

         今天下午写毕设,用Androidstudio写一个类似于知乎日报的界面,item的显示使用的是recycleview,写好后网络请求的数据列表显示正确,最后想给每个item注册点击事件以显示详细内容,结果每次点击获得的item内容总不是点击的内容,所以在oncreateViewHolder()中用getAdapterPosition获得点击位置,日志和代码如下:


从打印的日志可以看出,点击的内容和显示的内容不一致,多次点击打印之后发现,点击不同的位置,显示的内容还是不变,所以推测oncreateViewholder和onbindviewholder两个函数出现错误,看了代码之后发现前者viewholer的实例化写错了,错误代码:



每个viewholder应该是不同的实例,如果把viewhoder作为全局变量,会造成前面的错误,所以应该在每次oncreate时都实例化一个对象,


修改后的结果:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值