# StatefulAdapter

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

*** ** * ** ***


```
public interface StatefulAdapter
```

<br />

Known direct subclasses [FragmentStateAdapter](https://developer.android.com/reference/androidx/viewpager2/adapter/FragmentStateAdapter)

|---|---|
| `https://developer.android.com/reference/androidx/viewpager2/adapter/FragmentStateAdapter` | Similar in behavior to `https://developer.android.com/reference/androidx/fragment/app/FragmentStatePagerAdapter` |

*** ** * ** ***

`https://developer.android.com/reference/androidx/viewpager2/widget/ViewPager2` adapters should implement this interface to be called during `https://developer.android.com/reference/android/view/View.html#onSaveInstanceState()` and `https://developer.android.com/reference/android/view/View.html#onRestoreInstanceState(android.os.Parcelable)`

## Summary

| ### Public methods |
|---|---|
| `abstract void` | `https://developer.android.com/reference/androidx/viewpager2/adapter/StatefulAdapter#restoreState(android.os.Parcelable)(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/os/Parcelable.html savedState)` Restores adapter state |
| `abstract @https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/android/os/Parcelable.html` | `https://developer.android.com/reference/androidx/viewpager2/adapter/StatefulAdapter#saveState()()` Saves adapter state |

## Public methods

### restoreState

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

```
abstract void restoreState(@NonNull Parcelable savedState)
```

Restores adapter state

### saveState

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

```
abstract @NonNull Parcelable saveState()
```

Saves adapter state