将边框设置为recylerview元素会在滚动回到同一对象时重现

时间:2016-01-06 10:41:36

标签: android android-recyclerview android-adapterview

我有图像视图的循环器视图,并且在长按时我尝试为图像视图提供边框。当我向下滚动并返回到同一个对象时,可以在另一个图像上找到boder。(可以这样做......回收器视图会自行删除并创建回来,因此位置会发生变化)。

所以我所做的是长时间存储图像URl,向后滚动后,我根据图像URL在图像上绘制了边框。

现在的问题是之前出现的边界(错误的位置)也被绘制出来......如何摆脱它。

简单来说。如何让recyclerview忘记数据变化? (Notifydatasetchanged ......就像那样)....

提前谢谢......

1 个答案:

答案 0 :(得分:1)

这是由于RecyclerView滚动后制作边界的位置不同而导致的问题,您可以通过让对象记住它是否通过长按选择来轻松解决此问题<或者

假设这是你的课程

class Item {
  // here you already have your instance variables 
  // add another one
  boolean isSelected;
}

当您长按某个项目时,请创建相应Itemtrue的此实例变量,并为其提供一个寄宿生。

当您在RecyclerView's适配器中填充列表时,您可以检查isSelected是否为真,而不是imageView有一个寄宿生。否则不

通过这样做,您将独立于项目的位置以及相应的滚动。所以你的物品将保留实际选择的边界。