How to change particular image in recycler view after clicking

前端 未结 4 1967
别那么骄傲
别那么骄傲 2021-02-03 16:04

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

<         


        
4条回答
  •  情歌与酒
    2021-02-03 16:29

    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);
    
                    }
                });
    

提交回复
热议问题