当用户在android studio中选择其他图像时,如何取消选择一个图像

时间:2017-01-12 10:07:05

标签: android

以下是选择代码

 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中选择其他图像时,如何取消选择以前选择的图像。我正在使用回收视图,其中我充气图像和一个图像被选中我想取消选择另一个图像。是否可以在回收站视图中保存先前所选图像的参考?

1 个答案:

答案 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();
    }
  }

}