Select 在android中,在recylerView中滚动时,所选项目会丢失

Select 在android中,在recylerView中滚动时,所选项目会丢失,select,android-recyclerview,Select,Android Recyclerview,我试图在recylerview中选择项目,但问题是当滚动时它们会失去状态,突出显示的项目再次变为透明。如果返回到所选项目并再次单击该项目,则列表现在包含两个项目,而不是一个,依此类推 private ArrayList<ItemFiles> mSelectedPosition = new ArrayList<ItemFiles>(); holder.itemView.setOnClickListener(new View.OnClickListener() {

我试图在recylerview中选择项目,但问题是当滚动时它们会失去状态,突出显示的项目再次变为透明。如果返回到所选项目并再次单击该项目,则列表现在包含两个项目,而不是一个,依此类推

 private ArrayList<ItemFiles> mSelectedPosition = new ArrayList<ItemFiles>();


holder.itemView.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View v) { 
        if (isEnabled) {
          ClickItem(holder); 
}

  public void ClickItem(MyViewHolder holder) {
        ItemFiles s = itemfiles.get(holder.getAdapterPosition());
        if (holder.checkbox.getVisibility() == View.GONE){
            holder.itemView.setBackgroundColor(Color.LTGRAY);
            selectList.add(s);
            mSelectedPosition.add(String.valueOf(s));

        } else {
  
        holder.itemView.setBackgroundColor(Color.TRANSPARENT);
        selectList.remove(s);
        mSelectedPosition.remove(String.valueOf(s));
       
    }
private ArrayList mSelectedPosition=new ArrayList();
holder.itemView.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
如果(已启用){
点击项目(支架);
}
公共作废点击项(MyViewHolder){
ItemFiles s=ItemFiles.get(holder.getAdapterPosition());
if(holder.checkbox.getVisibility()==View.GONE){
holder.itemView.setBackgroundColor(Color.LTGRAY);
选择列表。添加;
mSelectedPosition.add(String.valueOf);
}否则{
holder.itemView.setBackgroundColor(颜色.透明);
选择列表。删除;
mSelectedPosition.remove(String.valueOf);
}