@Override public void onInserted(int position, int count) { notifyItemRangeInserted(position, count); }
@Override public void onItemRangeInserted(@NonNull Group group, int positionStart, int itemCount) { notifyItemRangeInserted(getAdapterPosition(group) + positionStart, itemCount); }
public void add(int index, @NonNull Group group) { if (group == null) throw new RuntimeException("Group cannot be null"); group.registerGroupDataObserver(this); groups.add(index, group); int itemCountBeforeGroup = getItemCountBeforeGroup(index); notifyItemRangeInserted(itemCountBeforeGroup, group.getItemCount()); }
public void add(@NonNull Group group) { if (group == null) throw new RuntimeException("Group cannot be null"); int itemCountBeforeGroup = getItemCount(); group.registerGroupDataObserver(this); groups.add(group); notifyItemRangeInserted(itemCountBeforeGroup, group.getItemCount()); }
/** * Adds the contents of the list of groups, in order, to the end of the adapter contents. * All groups in the list must be non-null. * * @param groups */ public void addAll(@NonNull Collection<? extends Group> groups) { if (groups.contains(null)) throw new RuntimeException("List of groups can't contain null!"); int itemCountBeforeGroup = getItemCount(); int additionalSize = 0; for (Group group : groups) { additionalSize += group.getItemCount(); group.registerGroupDataObserver(this); } this.groups.addAll(groups); notifyItemRangeInserted(itemCountBeforeGroup, additionalSize); }