/** * Called to return the stable ID for the item, and passes the event to its associated binder. * * @param position Adapter position to query * @return the stable ID of the item at position * @see ItemViewBinder#getItemId(Object) * @see RecyclerView.Adapter#setHasStableIds(boolean) * @since v3.2.0 */ @Override @SuppressWarnings("unchecked") public final long getItemId(int position) { Object item = items.get(position); int itemViewType = getItemViewType(position); ItemViewBinder binder = typePool.getItemViewBinder(itemViewType); return binder.getItemId(item); }