【发布时间】:2018-12-21 06:43:27
【问题描述】:
我正在使用 RecyclerView 在 GridManager 上实现多项选择。
这是我在适配器中的代码
imgStamps.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
//First setting up isSelected() or not
if (imageList.get(getAdapterPosition()).isSelected()) {
imageList.get(getAdapterPosition()).setSelected(false);
} else {
imageList.get(getAdapterPosition()).setSelected(true);
}
//Setting blur image on Imageview onLongclick and resting on again press.
if (imageList.get(getAdapterPosition()).isSelected()) {
mCount++;
imgBlurr.setVisibility(View.VISIBLE);
} else {
mCount--;
imgBlurr.setVisibility(View.GONE);
}
mCommunicator.clicked(mCount, getAdapterPosition());
return true;
}
});
上面的代码在ViewHolder里面而不是onBindViewHolder里面。
如果我选择第一张图像并向下滚动然后向上滚动,则视图将被重置。
可以指出错误或行为吗?
【问题讨论】:
-
您是否也在
onBindViewHolder()中适当地设置了可见性?如果没有,那是你的问题。
标签: android android-recyclerview android-viewholder