当我尝试在RecyclerView中使用单选按钮时,我遇到了问题。将drawable改为自定义的很容易。但是,正如我们知道RecycerView中的视图被回收,如果我将drawable更改为自定义视图,当再次使用它时,它应该显示为默认drawable。由于必须再次选择单选按钮。那么,如果我想完成这个功能,有什么好主意吗?
以下是解释:
private List<MotocareService> purchased = new LinkedList<>();
@Override
public void onBindViewHolder(K holder, int position) {
if (purchased.contains(item)) { // line 5
currentRadio.setButtonDrawable(R.drawable.ic_check_black); // line 6
currentRadio.setEnabled(false);
} else {
// line 9: need to change the drawable back
currentRadio.setEnabled(true);
}
}
如上所示,在第5行,我想判断MotocareService项是否在购买列表中。如果它在列表中,我必须将其drawable更改为R.drawable.ic_check_black并禁用它。但由于视图被回收,它将再次用于另一个位置。我必须处理另一个案例 - 不在列表中的项目。此外,该项目必须是可选择和启用的,以便用户可以选择该项目。