added in version 22.1.0
belongs to Maven artifact


public final class RecyclerView.Recycler
extends Object


A Recycler is responsible for managing scrapped or detached item views for reuse.

A "scrapped" view is a view that is still attached to its parent RecyclerView but that has been marked for removal or reuse.

Typical use of a Recycler by a RecyclerView.LayoutManager will be to obtain views for an adapter's data set representing the data at a given position or item ID. If the view to be reused is considered "dirty" the adapter will be asked to rebind it. If not, the view can be quickly reused by the LayoutManager with no further work. Clean views that have not requested layout may be repositioned by a LayoutManager without remeasurement.


Public constructors


Public methods

void bindViewToPosition(View view, int position)

Binds the given View to the position.

void clear()

Clear scrap views out of this recycler.

int convertPreLayoutPositionToPostLayout(int position)

RecyclerView provides artificial position range (item count) in pre-layout state and automatically maps these positions to RecyclerView.Adapter positions when getViewForPosition(int) or bindViewToPosition(View, int) is called.

List<RecyclerView.ViewHolder> getScrapList()

Returns an unmodifiable list of ViewHolders that are currently in the scrap list.

View getViewForPosition(int position)

Obtain a view initialized for the given position.

void recycleView(View view)

Recycle a detached view.

void setViewCacheSize(int viewCount)

Set the maximum number of detached, valid views we should retain for later use.

Inherited methods

From class java.lang.Object

Public constructors


added in version 22.1.0
RecyclerView.Recycler ()

Public methods


added in version 22.1.0