以下是选择代码
holder.tvTreatmentArea.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectedAreasList[position] = !selectedAreasList[position];
if (selectedAreasList[position]) {
holder.layoutTreatmentAreas.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.background_circular_selected));
holder.tvTreatmentArea.setTextColor(context.getResources().getColor(R.color.white));
holder.imgTreatmentSelectedStatus.setImageResource(R.drawable.ic_check_circle_black_24_px);
if (mCallbacks != null) {
mCallbacks.onButtonClicked(treatmentAreasList.get(position).getPrice(), "Added", treatmentAreasList.get(position).getArea());
}
} else {
holder.layoutTreatmentAreas.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.background_circular));
holder.tvTreatmentArea.setTextColor(context.getResources().getColor(R.color.treatment_clinic_header));
holder.imgTreatmentSelectedStatus.setImageResource(R.drawable.oval);
if (mCallbacks != null) {
mCallbacks.onButtonClicked(treatmentAreasList.get(position).getPrice(), "Removed", treatmentAreasList.get(position).getArea());
}
}
}
});
当用户在android studio中选择其他图像时,如何取消选择以前选择的图像。我正在使用回收视图,其中我充气图像和一个图像被选中我想取消选择另一个图像。是否可以在回收站视图中保存先前所选图像的参考?
答案 0 :(得分:0)
当有人通过getAdapterPosition()
点击特定图片时,您无需保存以前的参考,只需保存当前所选位置,然后您只需使用notifiydatastchanged
更新新选择的列表图像。
在bindview
中,您需要为此编写逻辑。
粗略示例:
YourAdapter{
int selectedPosition = -1;
onBindView(...,..,int postion){
if(postion==selectedPosition){
update the background or button for this position
}
onClick(){
selectedPosition = getAdapterPosition();
notifyDataSetChanged();
}
}
}