Adapter:

@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
    // 里面什么都不写,但是必须要
}

@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position, @NonNull List<Object> payloads{
    if (payloads.size() == 0) {
        // 全部刷新
        textView...
        imageView...
        button...
    } else {
        // 只刷新某一个view
        textView...
    }
}

Activity:

if (1) {
    // 全部刷新
    mAdapter.notifyDateSetChange();
} else if (2) {
    // 只刷新某一个item
    mAdapter.notifyItemChanged(pos);
} else {
    // 只刷新某一个item的某一个view
    mAdapter.notifyItemChanged(pos, 1);    
}

标签: 安卓, RecyclerView

添加新评论