RecyclerViewの部分的なデータ更新をどのように実現しますか?
RecyclerViewの部分更新は、次の方法で実現できます。
- 位置が変更されたことを通知する (notifyItemChanged)
// 在Adapter中的某个方法中调用
public void updateItem(int position, Data newData) {
dataList.set(position, newData);
notifyItemChanged(position);
}
- positionStartからitemCountまでの範囲のアイテムの変更を通知します。
// 在Adapter中的某个方法中调用
public void updateRange(int startPosition, int itemCount, List<Data> newDataList) {
for (int i = 0; i < itemCount; i++) {
dataList.set(startPosition + i, newDataList.get(i));
}
notifyItemRangeChanged(startPosition, itemCount);
}
- position番目に通知します。
// 在Adapter中的某个方法中调用
public void insertItem(int position, Data newData) {
dataList.add(position, newData);
notifyItemInserted(position);
}
- positionのアイテムが削除されたことを通知します。
// 在Adapter中的某个方法中调用
public void removeItem(int position) {
dataList.remove(position);
notifyItemRemoved(position);
}
上記の方法を使用すると、RecyclerViewの一部データを更新し、パフォーマンスとユーザーエクスペリエンスを向上させることができます。