/** * sets an item at the given position, overwriting the previous item * * @param position the global position * @param element the item to set */ public ModelAdapter<Model, Item> set(int position, Model element) { Item item = intercept(element); if (item == null) return this; return setInternal(position, item); }
@Override protected void publishResults(@Nullable CharSequence constraint, FilterResults results) { // Now we have to inform the adapter about the new list filtered if (results.values != null) { mItemAdapter.setInternal((List<Item>) results.values, false, null); } //only fire when we are filtered, not in onreset if (mItemFilterListener != null && mOriginalItems != null) { mItemFilterListener.itemsFiltered(constraint, (List<Item>) results.values); } }
protected ModelAdapter<Model, Item> set(List<Model> list, boolean resetFilter) { List<Item> items = intercept(list); return setInternal(items, resetFilter, null); }
/** * set a new list of model items and apply it to the existing list (clear - add) for this adapter * NOTE may consider using setNewList if the items list is a reference to the list which is used inside the adapter * * @param list the items to set * @param resetFilter `true` if the filter should get reset * @param adapterNotifier a `IAdapterNotifier` allowing to modify the notify logic for the adapter (keep null for default) * @return this */ public ModelAdapter<Model, Item> set(List<Model> list, boolean resetFilter, @Nullable IAdapterNotifier adapterNotifier) { List<Item> items = intercept(list); return setInternal(items, resetFilter, adapterNotifier); }
/** * sets an item at the given position, overwriting the previous item * * @param position the global position * @param item the item to set */ public ModelAdapter<?, Item> set(int position, Item item) { if (mOriginalItems != null) { if (mItemAdapter.isUseIdDistributor()) { mItemAdapter.getIdDistributor().checkId(item); } mOriginalItems.set(getAdapterPosition(mItemAdapter.getAdapterItems().get(position)) - mItemAdapter.getFastAdapter().getPreItemCount(position), item); publishResults(mConstraint, performFiltering(mConstraint)); return mItemAdapter; } else { return mItemAdapter.setInternal(position, item); } }