I want to change respective image of clicked item in recycler view. Now whats happening is if i click on item 2 image is changing at random item position in the list
<
try this,
class CRMbean{
public boolean isImageChanged;
public boolean isImageChanged() {
return isImageChanged;
}
public void setImageChanged(boolean imageChanged) {
isImageChanged = imageChanged;
}
}
On BindHolder do it like,
@Override
public void onBindViewHolder(MyRecyclerViewAdapter.DataObjectHolder holder, int position) {
holder.name.setText(mDataset.get(position).getName());
holder.regId.setText(mDataset.get(position).getRegId());
holder.roomNo.setText(mDataset.get(position).getRoomNo());
if(mDataset.get(position).isImageChanged()){
holder.testImage.setImageResource(R.drawable.video_icon_fill);
}else{
holder.testImage.setImageResource("You Default Image");
}
}
on Adapter write this method
public void changeImage(int index) {
mDataset.get(position).setImageChanged(true);
notifyItemChanged(index)
}
On Item click Of Recyleview
(MyRecyclerViewAdapter) mAdapter).setOnItemClickListener
(new MyRecyclerViewAdapter.MyClickListener() {
@Override
public void onItemClick(int position, View v) {
Log.i(LOG_TAG, " Clicked on Item " + position);
MyRecyclerViewAdapter.changeImage(position);
}
});