# RecyclerView.OnScrollListener

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.OnScrollListener) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/recyclerview#1.0.0)

*** ** * ** ***


```
public abstract class RecyclerView.OnScrollListener
```

<br />

*** ** * ** ***

An OnScrollListener can be added to a RecyclerView to receive messages when a scrolling event has occurred on that RecyclerView.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView#addOnScrollListener(androidx.recyclerview.widget.RecyclerView.OnScrollListener)` |   |
| `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView#clearOnChildAttachStateChangeListeners()` |   |

## Summary

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

| ### Public methods |
|---|---|
| `void` | `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.OnScrollListener#onScrollStateChanged(androidx.recyclerview.widget.RecyclerView,int)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView recyclerView, int newState)` Callback method to be invoked when RecyclerView's scroll state changes. |
| `void` | `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.OnScrollListener#onScrolled(androidx.recyclerview.widget.RecyclerView,int,int)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView recyclerView, int dx, int dy)` Callback method to be invoked when the RecyclerView has been scrolled. |

## Public constructors

### OnScrollListener

Added in 1.0.0

```
public OnScrollListener()
```

## Public methods

### onScrollStateChanged

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

```
public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState)
```

Callback method to be invoked when RecyclerView's scroll state changes.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView recyclerView` | The RecyclerView whose scroll state has changed. |
| `int newState` | The updated scroll state. One of `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView#SCROLL_STATE_IDLE()`, `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView#SCROLL_STATE_DRAGGING()` or `https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView#SCROLL_STATE_SETTLING()`. |

### onScrolled

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

```
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy)
```

Callback method to be invoked when the RecyclerView has been scrolled. This will be called after the scroll has completed.

This callback will also be called if visible item range changes after a layout calculation. In that case, dx and dy will be 0.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView recyclerView` | The RecyclerView which scrolled. |
| `int dx` | The amount of horizontal scroll. |
| `int dy` | The amount of vertical scroll. |