【发布时间】:2019-07-22 10:32:35
【问题描述】:
我遇到了一个问题:当我在回收站视图中单击单个项目的复选框时,其他项目的复选框也被选中....但是当我覆盖这两种方法并用它恢复位置时,问题就解决了.... 所以我的问题是他们是如何解决我的问题的???
已经知道android文档中写了什么。
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getItemViewType(int position) {
return position;
}
【问题讨论】:
-
他们实际上是通过传递列表中的位置来判断点击了哪个项目
-
getItemId 必须返回一个唯一值
-
奇怪,如果其他检查 ViewHolder,您是否添加了?因为只用'if'是不够的
-
我认为通知先前选择的元素也是必要的,如果没有的话
-
当你想在adapter中定义HeaderView和ChildView时,你可以使用getItemViewType。其中getItemId是你的单项在adapter中的唯一id。
标签: android android-recyclerview