之前在项目项目中,使用RecycleView 中holder的Tag 标签的方法,发现每次每次刷新会保存之前的数据,造成一些没必要的bug ,在此记录下
/** * 自定义Holder */ class EventViewHolder extends RecyclerView.ViewHolder { ImageView icon; public EventViewHolder(View itemView) { super(itemView); icon = itemView.findViewById(R.id.iv_memo); icon.setTag(Constants.MemoIconTag.FIRST); // 这里以为每次都会重新初始化,其实没有,会保留之前的 }
后来在onbindView 重新初始化就可以了
/**
* 数据渲染
* @param holder
* @param position
*/
@Override
public void onBindViewHolder(@NonNull final EventViewHolder holder, int position) {
holder.icon.setTag(Constants.MemoIconTag.FIRST);
}