# RecyclerView.RecycledViewPool

# RecyclerView.RecycledViewPool

Artifact:[androidx.recyclerview:recyclerview](https://developer.android.com/jetpack/androidx/releases/recyclerview)  
[View Source](https://cs.android.com/search?q=file:androidx/recyclerview/widget/RecyclerView.java+class:androidx.recyclerview.widget.RecyclerView.RecycledViewPool)  
Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/recyclerview#1.0.0)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.RecycledViewPool "View this page in Java")

<br />

```
class RecyclerView.RecycledViewPool
```

<br />

*** ** * ** ***

RecycledViewPool lets you share Views between multiple RecyclerViews.

If you want to recycle views across RecyclerViews, create an instance of RecycledViewPool and use[setRecycledViewPool](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView#setRecycledViewPool(androidx.recyclerview.widget.RecyclerView.RecycledViewPool)).

RecyclerView automatically creates a pool for itself if you don't provide one.

## Summary

|                                                               ### Public constructors                                                                |
|------------------------------------------------------------------------------------------------------------------------------------------------------|
| [RecycledViewPool](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.RecycledViewPool#RecycledViewPool())`()` |

|                                                       ### Public functions                                                        |
|-----------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                     | [clear](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.RecycledViewPool#clear())`()` Discard all ViewHolders.                                                                                                                                                                                                                                                                    |
| [RecyclerView.ViewHolder](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder)`?` | [getRecycledView](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.RecycledViewPool#getRecycledView(int))`(viewType: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Acquire a ViewHolder of the specified type from the pool, or`null`if none are present.                                                                                        |
| [Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                                                       | [getRecycledViewCount](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.RecycledViewPool#getRecycledViewCount(int))`(viewType: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Returns the current number of Views held by the RecycledViewPool of the given view type.                                                                            |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                     | [putRecycledView](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.RecycledViewPool#putRecycledView(androidx.recyclerview.widget.RecyclerView.ViewHolder))`(scrap: `[RecyclerView.ViewHolder](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder)`!)` Add a scrap ViewHolder to the pool.                                         |
| [Unit](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html)                                                     | [setMaxRecycledViews](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.RecycledViewPool#setMaxRecycledViews(int,int))`(viewType: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`, max: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Sets the maximum number of ViewHolders to hold in the pool before discarding. |

## Public constructors

### RecycledViewPool

Added in 1.0.0  

```
RecycledViewPool()
```  

## Public functions

### clear

Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/recyclerview#1.0.0)  

```
fun clear(): Unit
```

Discard all ViewHolders.  

### getRecycledView

Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/recyclerview#1.0.0)  

```
fun getRecycledView(viewType: Int): RecyclerView.ViewHolder?
```

Acquire a ViewHolder of the specified type from the pool, or`null`if none are present.  

|                                       Parameters                                        |
|-----------------------------------------------------------------------------------------|------------------|
| `viewType: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | ViewHolder type. |

|                                                              Returns                                                              |
|-----------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------|
| [RecyclerView.ViewHolder](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder)`?` | ViewHolder of the specified type acquired from the pool, or`null`if none are present. |

### getRecycledViewCount

Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/recyclerview#1.0.0)  

```
fun getRecycledViewCount(viewType: Int): Int
```

Returns the current number of Views held by the RecycledViewPool of the given view type.  

### putRecycledView

Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/recyclerview#1.0.0)  

```
fun putRecycledView(scrap: RecyclerView.ViewHolder!): Unit
```

Add a scrap ViewHolder to the pool.

If the pool is already full for that ViewHolder's type, it will be immediately discarded.  

|                                                                 Parameters                                                                 |
|--------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------|
| `scrap: `[RecyclerView.ViewHolder](https://developer.android.com/reference/kotlin/androidx/recyclerview/widget/RecyclerView.ViewHolder)`!` | ViewHolder to be added to the pool. |

### setMaxRecycledViews

Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/recyclerview#1.0.0)  

```
fun setMaxRecycledViews(viewType: Int, max: Int): Unit
```

Sets the maximum number of ViewHolders to hold in the pool before discarding.  

|                                       Parameters                                        |
|-----------------------------------------------------------------------------------------|-----------------|
| `viewType: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | ViewHolder Type |
| `max: `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)      | Maximum number  |