Android Recyclerview多选视图问题
我有一个回收器视图适配器,其中有一个fav图标视图。当我选择一个fav图标时,滚动时选择了多个图标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"
<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);
}
});