我有一个填充对象列表的RecyclerView
。每个对象都有一个图像和一个注释。我想更新特定行的注释。我不想刷新整个RecyclerView's Adapter
。我只想更新或刷新该特定行。我怎样才能实现它?以下是我的实施。我在写吗?
此方法位于我的Adapter
:更新
public void updateComment(String comment,int position){
this.mList.get(position).setCommentText(comment);
notifyItemChanged(position,this.mList);
}
从我的活动中我正在调用上面的方法:
adapter.updateComment("Great",1);
更新
根据 pskink 的建议。我实现了这个:
@Override
public void onBindViewHolder(CellViewHolder holder, int position, List<Object> payloads) {
if(payloads.isEmpty()){
super.onBindViewHolder(holder,position,payloads);
}else{
for (Object payload : payloads) {
if (payload instanceof MyMemo) {
holder.bindComment((MyMemo) payload);
}
}
}
}
bindComment()
中的ViewHolder
方法:
private void bindComment(MyMemo payload) {
comment.setText(payload.getCommentText());
}