패턴을 이해하는 데 어려움이 있습니다. 뷰와 어댑터가 너무 섞여 있습니다. 논리가 어디에서 잘못 되었습니까?RecyclerView의 클릭 가능한 아이콘
클릭 가능한 마커와 유사한 아이콘을 얻으려고합니다. 선택하면 true로 설정되고 다시 선택하면 다시 false로 설정됩니다. 그러나 참/거짓으로 설정하더라도보기가 자동으로 새로 고쳐지지 않습니다.
public class MyPojo {
String title;
String desc;
int image;
boolean isChecked;
내 어댑터 클래스 ~
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
// - get element from your dataset at this position
// - replace the contents of the view with that element
TextView title = (TextView) holder.mView.findViewById(R.id.textView);
TextView desc = (TextView) holder.mView.findViewById(R.id.textView2);
final ImageView image = (ImageView) holder.mView.findViewById(R.id.imageView);
title.setText(pojos.get(position).getTitle());
desc.setText(pojos.get(position).getDesc());
if (!(pojos.get(position).isChecked())) {
image.setImageResource(pojos.get(position).getImage());
} else {
image.setImageResource(R.mipmap.ic_launcher);
}
image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
image.setImageResource(R.mipmap.ic_launcher);
//todo Where do I set my is clicked ?
if (pojos.get(position).isChecked) {
pojos.get(position).setChecked(false);
//image.setImageResource(R.mipmap.ic_launcher);
}else{
pojos.get(position).setChecked(true);
//image.setImageResource(pojos.get(position).getImage());
}
}
});
}
onBindViewHolder가 아닌 ViewHolder 클래스에서 title 및 desc와 같은 뷰를 바인딩해야합니다. – FarshidABZ