@Override public int getItemViewType(int position) { final int index = getAdapterIndexForPosition(position); RecyclerView.Adapter<RecyclerView.ViewHolder> adapter = adapters[index]; int viewType = adapter.getItemViewType(position - offsets[index]); if (viewTypeAdapters.get(viewType) == null) { viewTypeAdapters.put(viewType, adapter); } return viewType; }
int viewType = adapter.getItemViewType(i);
&& getItemViewType(mStickyHeader) != mAdapter.getItemViewType(headerPos)) {
private float getBottomViewCount() { if (mBottomItemsHeight != -1.f) return mBottomItemsHeight; int itemCount = mRecyclerView.getAdapter().getItemCount(); int totalHeight = 0; int maxHeight = mRecyclerView.getHeight(); int i; for (i = itemCount - 1; i >= 0; i--) { int viewType = mRecyclerView.getAdapter().getItemViewType(i); RecyclerView.ViewHolder holder = mRecyclerView.getRecycledViewPool().getRecycledView(viewType); if (holder == null) holder = mRecyclerView.getAdapter().createViewHolder(mRecyclerView, viewType); mRecyclerView.getAdapter().bindViewHolder(holder, i); holder.itemView.requestLayout(); mRecyclerView.getLayoutManager().measureChild(holder.itemView, 0, 0); totalHeight += mRecyclerView.getLayoutManager().getDecoratedMeasuredHeight(holder.itemView); mRecyclerView.getRecycledViewPool().putRecycledView(holder); if (totalHeight >= maxHeight) return itemCount - 1 - i - (float) (totalHeight - maxHeight) / holder.itemView.getMeasuredHeight(); } mBottomItemsHeight = itemCount; return itemCount; }
private void addViewAt(int index) { addViewAt(adapter.getItemViewType(index), index); }
@Override public int getSpanSize(int position) { switch (recyclerView.getAdapter().getItemViewType(position)) { case DynamicRecyclerViewAdapter.TYPE_EMPTY_VIEW: case DynamicRecyclerViewAdapter.TYPE_SECTION_HEADER: return ((GridLayoutManager) recyclerView.getLayoutManager()).getSpanCount(); case DynamicRecyclerViewAdapter.TYPE_ITEM: return 1; default: return -1; } } });
@Override public int getItemViewType(int position) { return wrapped.getItemViewType(position); }
@Override public final int getItemViewType(final int position) { return wrappedAdapter.getItemViewType(position); }
@Override public int getItemViewType(int position) { return refreshing & position == adapter.getItemCount() ? PROGRESS_VIEW_TYPE : adapter.getItemViewType(position); }
/** * overwrite the getItemViewType to correctly return the value from the FastAdapter * * @param position * @return */ @Override public int getItemViewType(int position) { if (shouldInsertItemAtPosition(position)) { return getItem(position).getType(); } else { return mAdapter.getItemViewType(position - itemInsertedBeforeCount(position)); } }
/** * {@inheritDoc} */ @Override public long getItemId(int position) { final long segmentedPosition = getSegmentedPosition(position); final int segment = AdaptersSet.extractSegment(segmentedPosition); final int offset = AdaptersSet.extractSegmentOffset(segmentedPosition); final RecyclerView.Adapter adapter = mAdaptersSet.getAdapter(segment); final int rawViewType = adapter.getItemViewType(offset); final long rawId = adapter.getItemId(offset); final int wrappedViewType = mViewTypeTranslator.wrapItemViewType(segment, rawViewType); final int wrappedSegment = ItemViewTypeComposer.extractSegmentPart(wrappedViewType); return ItemIdComposer.composeSegment(wrappedSegment, rawId); }
/** * {@inheritDoc} */ @Override public int getItemViewType(int position) { return mWrappedAdapter.getItemViewType(position); }
/** * {@inheritDoc} */ @Override public int getItemViewType(int position) { final long segmentedPosition = getSegmentedPosition(position); final int segment = AdaptersSet.extractSegment(segmentedPosition); final int offset = AdaptersSet.extractSegmentOffset(segmentedPosition); final RecyclerView.Adapter adapter = mAdaptersSet.getAdapter(segment); final int rawViewType = adapter.getItemViewType(offset); return mViewTypeTranslator.wrapItemViewType(segment, rawViewType); }
@Override public int getItemViewType(int position) { return mAdapter.getItemViewType(position); }