回滚视图在滚动时获得更改

Amy*_*Amy 1 android recycler-adapter android-recyclerview

我正在尝试动态更改RecycleView中的图像.它会成功更改,但是当我滚动RecycleView时,ImageView将会发生变化

这是我的适配器类代码:

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewHolders> {
    private List<ItemObject> itemList;
    private Context context;
    OnGridSelected onGridObj;
    public RecyclerViewAdapter(Context context, List<ItemObject> itemList,OnGridSelected onGridObj) {
        this.itemList = itemList;
        this.context = context;
        this.onGridObj = onGridObj;
    }
    @Override
    public RecyclerViewHolders onCreateViewHolder(ViewGroup parent, int viewType) {
        View layoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_view_list, null);
        RecyclerViewHolders rcv = new RecyclerViewHolders(layoutView,itemList,onGridObj);
        return rcv;
    }
    @Override
    public void onBindViewHolder(RecyclerViewHolders holder, int position) {
        if(!itemList.get(position).isSelected()) {
            holder.countryName.setText(itemList.get(position).getName());
            holder.countryPhoto.setImageResource(itemList.get(position).getPhoto());
            itemList.get(position).setIsSelected(true);
        }
    }
    @Override
    public int getItemCount() {
        return this.itemList.size();
    }
}
Run Code Online (Sandbox Code Playgroud)

如何防止回收视图回收?

小智 6

请试试这个:

如果您正在使用RecycyclerView,请仅覆盖getItemViewType方法.

@Override
public int getItemViewType(int position) {
    return position;
}
Run Code Online (Sandbox Code Playgroud)