Android Recyclerview多选视图问题

Android Recyclerview多选视图问题,android,android-recyclerview,Android,Android Recyclerview,我有一个回收器视图适配器,其中有一个fav图标视图。当我选择一个fav图标时,滚动时选择了多个图标 <TextView android:id="@+id/tv_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Seema Gupta"

我有一个回收器视图适配器,其中有一个fav图标视图。当我选择一个fav图标时,滚动时选择了多个图标

    <TextView
            android:id="@+id/tv_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Seema Gupta"
            android:textSize="16sp"
            android:textStyle="bold"
            android:textColor="@color/black"/>

        <ImageView
            android:id="@+id/iv_favourite"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/favourite_icon"
            android:layout_alignParentRight="true"
            android:padding="10dp"
            android:layout_marginRight="0dp"/>
模型类:-

  public boolean isFav() {
    return isFav;
}

public void setFav(boolean fav) {
    isFav = fav;
}

在onClick方法中添加此方法notifyItemChanged(位置)


在onClick方法中添加此方法notifyItemChanged(位置)


从bindViewHolder参数位置移除final,从标记中获取位置您是否尝试过此操作我对multiselect recycler视图也有类似的问题。我添加了.setIsRecyclable(false);我的ViewHolder方法,它解决了我的问题。请提供完整的适配器。从bindViewHolder参数位置移除final,从标记获取位置。您是否尝试过此操作?对于multiselect回收器视图,我也有类似的问题。我添加了.setIsRecyclable(false);我的ViewHolder方法,它解决了我的问题。从OnClick设置fav后发出通知请提供完整的适配器。
  public boolean isFav() {
    return isFav;
}

public void setFav(boolean fav) {
    isFav = fav;
}
holder.iv_favourite.setOnClickListener(new View.OnClickListener() 
{
         @Override
         public void onClick(View v) {
                if (maidLists.get(position).isFav())
                {                        
                holder.iv_favourite.getDrawable().setColorFilter(Color.GRAY, 
                    PorterDuff.Mode.SRC_IN);
                    holder.iv_favourite.setAlpha(0.7f);
                    maidLists.get(position).setFav(false);
                }
                else 
                 {
                 holder.iv_favourite.getDrawable().setColorFilter(Color.RED, 
                 PorterDuff.Mode.SRC_IN);
                 holder.iv_favourite.setAlpha(0.7f);
                 maidLists.get(position).setFav(true);
                }
               notifyItemChanged(position);
     }
});