且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

单击后如何在“回收者"视图中更改特定图像

更新时间:2022-12-26 18:09:10

尝试一下,

class CRMbean{
   public boolean isImageChanged;
  public boolean isImageChanged() {
        return isImageChanged;
    }

    public void setImageChanged(boolean imageChanged) {
        isImageChanged = imageChanged;
    }
}

在BindHolder上这样做,

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

在适配器上编写此方法

public void changeImage(int index) {
 mDataset.get(position).setImageChanged(true);
   notifyItemChanged(index)

}

在项目上单击Recyleview

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

                }
            });