@Override public void addAll(@NonNull Collection<? extends Group> groups) { if (groups.isEmpty()) { return; } super.addAll(groups); if (isExpanded) { int itemCount = getItemCount(); this.children.addAll(groups); notifyItemRangeInserted(itemCount, getItemCount(groups)); } else { this.children.addAll(groups); } }
@Override public void addAll(int position, @NonNull Collection<? extends Group> groups) { if (groups.isEmpty()) { return; } super.addAll(position, groups); if (isExpanded) { int itemCount = getItemCount(); this.children.addAll(position, groups); notifyItemRangeInserted(itemCount, getItemCount(groups)); } else { this.children.addAll(position, groups); } }
/** * Overloaded version of update method in which you can pass your own DiffUtil.DiffResult * @param newBodyGroups The new content of the section * @param diffResult */ public void update(@NonNull final Collection<? extends Group> newBodyGroups, DiffUtil.DiffResult diffResult) { super.removeAll(children); children.clear(); children.addAll(newBodyGroups); super.addAll(newBodyGroups); diffResult.dispatchUpdatesTo(listUpdateCallback); refreshEmptyState(); }
@Override public void addAll(@NonNull Collection<? extends Group> groups) { if (groups.isEmpty()) return; super.addAll(groups); int position = getItemCountWithoutFooter(); this.children.addAll(groups); notifyItemRangeInserted(position, getItemCount(groups)); refreshEmptyState(); }
public void update(@NonNull List<? extends Item> newItems) { DiffUtil.DiffResult diffResult = DiffUtil.calculateDiff(new UpdatingCallback(newItems)); super.removeAll(items); items.clear(); super.addAll(newItems); items.addAll(newItems); diffResult.dispatchUpdatesTo(listUpdateCallback); }
@Override public void addAll(int position, @NonNull Collection<? extends Group> groups) { if (groups.isEmpty()) { return; } super.addAll(position, groups); this.children.addAll(position, groups); final int notifyPosition = getHeaderItemCount() + getItemCount(children.subList(0, position)); notifyItemRangeInserted(notifyPosition, getItemCount(groups)); refreshEmptyState(); }
children.clear(); children.addAll(newBodyGroups); super.addAll(newBodyGroups);