Android 如何在RecyclerView上正确取消选择项目?

Android 如何在RecyclerView上正确取消选择项目?,android,android-recyclerview,Android,Android Recyclerview,我的回答如下: 并让它工作:一次只选择一个项目(这就是我想要的) 但是,当第二次单击同一项目时,它将保持选中状态。我如何取消选择它,使它回到原来的颜色背景 感谢您的帮助。 谢谢 OnClick事件必须是这样的: @Override public void onClick(View view) { if (selectedPos == getAdapterPosition()) { selectedPos = RecyclerView.NO_POSITION; notifyDa

我的回答如下: 并让它工作:一次只选择一个项目(这就是我想要的)

但是,当第二次单击同一项目时,它将保持选中状态。我如何取消选择它,使它回到原来的颜色背景

感谢您的帮助。
谢谢

OnClick事件必须是这样的:

@Override
public void onClick(View view) {
  if (selectedPos == getAdapterPosition()) {
    selectedPos = RecyclerView.NO_POSITION;
    notifyDataSetChanged();
    return;
  }
  selectedPos = getAdapterPosition();
  notifyDataSetChanged();
}

它就像一个符咒!感谢您的启发。

您是否尝试过使用isSelected()?是的。不幸的是,我还没有想出如何让它工作,因为它是在我的链接的例子上完成的。也就是说,
notifyItemChanged(selectedPos)
被使用两次(一次用于上一个位置,然后用于当前位置)。但是,当选择同一项时,
onBindViewHolder
只被调用一次。您建议如何使用
isSelected()