/** * is called when the ViewHolder is in a transient state. return true if you want to reuse * that view anyways * * @param viewHolder the viewHolder for the view which failed to recycle * @param position the position of this viewHolder * @return true if we want to recycle anyways (false - it get's destroyed) */ @Override public boolean onFailedToRecycleView(RecyclerView.ViewHolder viewHolder, int position) { IItem item = (IItem) viewHolder.itemView.getTag(R.id.fastadapter_item); if (item != null) { boolean recycle = item.failedToRecycle(viewHolder); if (viewHolder instanceof FastAdapter.ViewHolder) { recycle = recycle || ((FastAdapter.ViewHolder) viewHolder).failedToRecycle(item); } return recycle; } return false; } }