@SuppressWarnings("unchecked") public static boolean invokeOnFailedToRecycleView(@NonNull RecyclerView.Adapter adapter, @NonNull RecyclerView.ViewHolder holder, int viewType) { if (adapter instanceof WrappedAdapter) { return ((WrappedAdapter) adapter).onFailedToRecycleView(holder, viewType); } else { return adapter.onFailedToRecycleView(holder); } }
/** * {@inheritDoc} */ @Override public boolean onFailedToRecycleView(@NonNull VH holder, int viewType) { boolean shouldBeRecycled = false; if (isWrappedAdapterAlive()) { shouldBeRecycled = WrappedAdapterUtils.invokeOnFailedToRecycleView(mWrappedAdapter, holder, viewType); } if (shouldBeRecycled) { return true; } return super.onFailedToRecycleView(holder); }
/** * is called when the ViewHolder is in a transient state. return true if you want to reuse * that view anyways * * @param holder the viewHolder for the view which failed to recycle * @return true if we want to recycle anyways (false - it get's destroyed) */ @Override public boolean onFailedToRecycleView(RecyclerView.ViewHolder holder) { if (mVerbose) Log.v(TAG, "onFailedToRecycleView: " + holder.getItemViewType()); return mOnBindViewHolderListener.onFailedToRecycleView(holder, holder.getAdapterPosition()) || super.onFailedToRecycleView(holder); }
@Override public boolean onFailedToRecycleView(RecyclerView.ViewHolder holder) { return wrapped.onFailedToRecycleView(holder); }
@Override public boolean onFailedToRecycleView(@NonNull ViewHolder holder) { return holder == progressViewHolder || adapter.onFailedToRecycleView(holder); }
@Override public boolean onFailedToRecycleView(@NonNull RecyclerView.ViewHolder holder) { return viewTypeAdapters.get(holder.getItemViewType()).onFailedToRecycleView(holder); } }
/** * the onFailedToRecycleView is managed by the FastAdapter so forward this correctly * * @param holder * @return */ @Override public boolean onFailedToRecycleView(RecyclerView.ViewHolder holder) { return mAdapter.onFailedToRecycleView(holder); }