我有图像视图的循环器视图,并且在长按时我尝试为图像视图提供边框。当我向下滚动并返回到同一个对象时,可以在另一个图像上找到boder。(可以这样做......回收器视图会自行删除并创建回来,因此位置会发生变化)。
所以我所做的是长时间存储图像URl,向后滚动后,我根据图像URL在图像上绘制了边框。
现在的问题是之前出现的边界(错误的位置)也被绘制出来......如何摆脱它。
简单来说。如何让recyclerview忘记数据变化? (Notifydatasetchanged ......就像那样)....
提前谢谢......
答案 0 :(得分:1)
这是由于RecyclerView
滚动后制作边界的位置不同而导致的问题,您可以通过让对象记住它是否通过长按选择来轻松解决此问题<或者
假设这是你的课程
class Item {
// here you already have your instance variables
// add another one
boolean isSelected;
}
当您长按某个项目时,请创建相应Item
,true
的此实例变量,并为其提供一个寄宿生。
当您在RecyclerView's
适配器中填充列表时,您可以检查isSelected
是否为真,而不是imageView
有一个寄宿生。否则不