<html devsite="true">
  <head>
    <title>Class Index</title>
{% setvar book_path %}/reference/kotlin/androidx/_book.yaml{% endsetvar %}
{% include "_shared/_reference-head-tags.html" %}
  </head>
  <body>
    <h1>Class Index</h1>
{% setvar page_path %}androidx/classes.html{% endsetvar %}
{% setvar can_switch %}1{% endsetvar %}
{% include "reference/_kotlin_switcher2.md" %}
    <p>These are all the API classes. See all <a href="/reference/kotlin/androidx/packages.html">API packages</a>.</p>
    <div class="jd-letterlist"><a href="#letter_A">A</a>&nbsp;&nbsp;<a href="#letter_C">C</a>&nbsp;&nbsp;<a href="#letter_D">D</a>&nbsp;&nbsp;<a href="#letter_E">E</a>&nbsp;&nbsp;<a href="#letter_I">I</a>&nbsp;&nbsp;<a href="#letter_L">L</a>&nbsp;&nbsp;<a href="#letter_M">M</a>&nbsp;&nbsp;<a href="#letter_N">N</a>&nbsp;&nbsp;<a href="#letter_P">P</a>&nbsp;&nbsp;<a href="#letter_R">R</a>&nbsp;&nbsp;</div>
    <h2 id="letter_A">A</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <tbody>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/AsyncPagedListDiffer.html">AsyncPagedListDiffer</a></code></td>
            <td width="100%">
              <p><strong>This class is deprecated.</strong> AsyncPagedListDiffer is deprecated and has been replaced by AsyncPagingDataDiffer</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/AsyncPagedListDiffer.PagedListListener.html">AsyncPagedListDiffer.PagedListListener</a></code></td>
            <td width="100%">
              <p><strong>This interface is deprecated.</strong> PagedList is deprecated and has been replaced by PagingData</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/AsyncPagingDataDiffer.html">AsyncPagingDataDiffer</a></code></td>
            <td width="100%">
              <p>Helper class for mapping a <code><a href="/reference/kotlin/androidx/paging/PagingData.html">PagingData</a></code> into a androidx.recyclerview.widget.RecyclerView.Adapter.</p>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <h2 id="letter_C">C</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <tbody>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/CachedPagingDataKt.html">CachedPagingDataKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/CombinedLoadStates.html">CombinedLoadStates</a></code></td>
            <td width="100%">
              <p>Collection of pagination <code><a href="/reference/kotlin/androidx/paging/LoadState.html">LoadState</a></code>s for both a <code><a href="/reference/kotlin/androidx/paging/PagingSource.html">PagingSource</a></code>, and <code><a href="/reference/kotlin/androidx/paging/RemoteMediator.html">RemoteMediator</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/ContiguousPagedList.html">ContiguousPagedList</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/CachedPagingDataKt.html">CachedPagingDataKt</a></code></td>
            <td width="100%"></td>
          </tr>
        </tbody>
      </table>
    </div>
    <h2 id="letter_D">D</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <tbody>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/DataSource.html">DataSource</a></code></td>
            <td width="100%">
              <p>Base class for loading pages of snapshot data into a <code><a href="/reference/kotlin/androidx/paging/PagedList.html">PagedList</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/DataSource.Factory.html">DataSource.Factory</a></code></td>
            <td width="100%">
              <p>Factory for DataSources.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/DataSource.InvalidatedCallback.html">DataSource.InvalidatedCallback</a></code></td>
            <td width="100%">
              <p>Invalidation callback for <code><a href="/reference/kotlin/androidx/paging/DataSource.html">DataSource</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/DifferCallback.html">DifferCallback</a></code></td>
            <td width="100%">
              <p>Callback for the presenter/adapter to listen to the state of pagination data.</p>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <h2 id="letter_E">E</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <tbody>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/ExperimentalPagingApi.html">ExperimentalPagingApi</a></code></td>
            <td width="100%">
              <p>Marks experimental Paging APIs, which may have known issues that would likely be solved by a source-incompatible change in newer versions of the artifact that supplies it.</p>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <h2 id="letter_I">I</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <tbody>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/InitialPagedList.html">InitialPagedList</a></code></td>
            <td width="100%">
              <p>InitialPagedList is an empty placeholder that's sent at the front of a stream of <code><a href="/reference/kotlin/androidx/paging/PagedList.html">PagedList</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/ItemKeyedDataSource.html">ItemKeyedDataSource</a></code></td>
            <td width="100%">
              <p><strong>This class is deprecated.</strong> ItemKeyedDataSource is deprecated and has been replaced by PagingSource</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/ItemKeyedDataSource.LoadCallback.html">ItemKeyedDataSource.LoadCallback</a></code></td>
            <td width="100%">
              <p>Callback for ItemKeyedDataSource <code><a href="/reference/kotlin/androidx/paging/ItemKeyedDataSource.html#loadBefore(androidx.paging.ItemKeyedDataSource.LoadParams)">loadBefore</a></code> and <code><a href="/reference/kotlin/androidx/paging/ItemKeyedDataSource.html#loadAfter(androidx.paging.ItemKeyedDataSource.LoadParams)">loadAfter</a></code> to return data.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/ItemKeyedDataSource.LoadInitialCallback.html">ItemKeyedDataSource.LoadInitialCallback</a></code></td>
            <td width="100%">
              <p>Callback for <code><a href="/reference/kotlin/androidx/paging/ItemKeyedDataSource.html#loadInitial(androidx.paging.ItemKeyedDataSource.LoadInitialParams)">loadInitial</a></code> to return data and, optionally, position/count information.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/ItemKeyedDataSource.LoadInitialParams.html">ItemKeyedDataSource.LoadInitialParams</a></code></td>
            <td width="100%">
              <p>Holder object for inputs to <code><a href="/reference/kotlin/androidx/paging/ItemKeyedDataSource.html#loadInitial(androidx.paging.ItemKeyedDataSource.LoadInitialParams)">loadInitial</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/ItemKeyedDataSource.LoadParams.html">ItemKeyedDataSource.LoadParams</a></code></td>
            <td width="100%">
              <p>Holder object for inputs to <code><a href="/reference/kotlin/androidx/paging/ItemKeyedDataSource.html#loadBefore(androidx.paging.ItemKeyedDataSource.LoadParams)">loadBefore</a></code> and <code><a href="/reference/kotlin/androidx/paging/ItemKeyedDataSource.html#loadAfter(androidx.paging.ItemKeyedDataSource.LoadParams)">loadAfter</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/ItemSnapshotList.html">ItemSnapshotList</a></code></td>
            <td width="100%">
              <p>Snapshot of data being presented by a androidx.pagingAsyncPagingDataDiffer or a <code><a href="/reference/kotlin/androidx/paging/PagingDataAdapter.html">PagingDataAdapter</a></code>.</p>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <h2 id="letter_L">L</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <tbody>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/ListenableFuturePagingSource.html">ListenableFuturePagingSource</a></code></td>
            <td width="100%">
              <p>ListenableFuture-based compatibility wrapper around <code><a href="/reference/kotlin/androidx/paging/PagingSource.html">PagingSource</a></code>'s suspending APIs.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/ListenableFutureRemoteMediator.html">ListenableFutureRemoteMediator</a></code></td>
            <td width="100%">
              <p>ListenableFuture-based  compatibility wrapper around <code><a href="/reference/kotlin/androidx/paging/RemoteMediator.html">RemoteMediator</a></code>'s suspending APIs.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/LivePagedListBuilder.html">LivePagedListBuilder</a></code></td>
            <td width="100%">
              <p><strong>This class is deprecated.</strong> PagedList is deprecated and has been replaced by PagingData</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/LivePagedListKt.html">LivePagedListKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/LoadState.html">LoadState</a></code></td>
            <td width="100%">
              <p>LoadState of a PagedList load - associated with a <code><a href="/reference/kotlin/androidx/paging/LoadType.html">LoadType</a></code></p>
              <p><code><a href="/reference/kotlin/androidx/paging/LoadState.html">LoadState</a></code> of any <code><a href="/reference/kotlin/androidx/paging/LoadType.html">LoadType</a></code> may be observed for UI purposes by registering a listener via <code><a href="/reference/kotlin/androidx/paging/PagingDataAdapter.html#addLoadStateListener(kotlin.Function1)">androidx.paging.PagingDataAdapter.addLoadStateListener</a></code> or <code><a href="/reference/kotlin/androidx/paging/AsyncPagingDataDiffer.html#addLoadStateListener(kotlin.Function1)">androidx.paging.AsyncPagingDataDiffer.addLoadStateListener</a></code></p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/LoadState.Error.html">LoadState.Error</a></code></td>
            <td width="100%">
              <p>Loading hit an error.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/LoadState.Loading.html">LoadState.Loading</a></code></td>
            <td width="100%">
              <p>Loading is in progress.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/LoadState.NotLoading.html">LoadState.NotLoading</a></code></td>
            <td width="100%">
              <p>Indicates the <code><a href="/reference/kotlin/androidx/paging/PagingData.html">PagingData</a></code> is not currently loading, and no error currently observed.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/LoadStateAdapter.html">LoadStateAdapter</a></code></td>
            <td width="100%">
              <p>Adapter for displaying a RecyclerView item based on <code><a href="/reference/kotlin/androidx/paging/LoadState.html">LoadState</a></code>, such as a loading spinner, or a retry error button.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/LoadStates.html">LoadStates</a></code></td>
            <td width="100%">
              <p>Collection of pagination <code><a href="/reference/kotlin/androidx/paging/LoadState.html">LoadState</a></code>s - refresh, prepend, and append.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/LoadType.html">LoadType</a></code></td>
            <td width="100%">
              <p>Type of load a <code><a href="/reference/kotlin/androidx/paging/PagingData.html">PagingData</a></code> can trigger a <code><a href="/reference/kotlin/androidx/paging/PagingSource.html">PagingSource</a></code> to perform.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/LivePagedListKt.html">LivePagedListKt</a></code></td>
            <td width="100%"></td>
          </tr>
        </tbody>
      </table>
    </div>
    <h2 id="letter_M">M</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <tbody>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/MutableLoadStateCollection.html">MutableLoadStateCollection</a></code></td>
            <td width="100%">
              <p>TODO: Remove this once <code><a href="/reference/kotlin/androidx/paging/PageEvent.LoadStateUpdate.html">PageEvent.LoadStateUpdate</a></code> contained <code><a href="/reference/kotlin/androidx/paging/CombinedLoadStates.html">CombinedLoadStates</a></code>.</p>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <h2 id="letter_N">N</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <tbody>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/NullPaddedList.html">NullPaddedList</a></code></td>
            <td width="100%">
              <p>Interface to partially-loaded, paged data (generally an immutable snapshot).</p>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <h2 id="letter_P">P</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <tbody>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PageKeyedDataSource.html">PageKeyedDataSource</a></code></td>
            <td width="100%">
              <p><strong>This class is deprecated.</strong> PageKeyedDataSource is deprecated and has been replaced by PagingSource</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PageKeyedDataSource.LoadCallback.html">PageKeyedDataSource.LoadCallback</a></code></td>
            <td width="100%">
              <p>Callback for <code><a href="/reference/kotlin/androidx/paging/PageKeyedDataSource.html#loadBefore(androidx.paging.PageKeyedDataSource.LoadParams)">loadBefore</a></code> and <code><a href="/reference/kotlin/androidx/paging/PageKeyedDataSource.html#loadAfter(androidx.paging.PageKeyedDataSource.LoadParams)">loadAfter</a></code> to return data.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PageKeyedDataSource.LoadInitialCallback.html">PageKeyedDataSource.LoadInitialCallback</a></code></td>
            <td width="100%">
              <p>Callback for <code><a href="/reference/kotlin/androidx/paging/PageKeyedDataSource.html#loadInitial(androidx.paging.PageKeyedDataSource.LoadInitialParams)">loadInitial</a></code> to return data and, optionally, position/count information.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PageKeyedDataSource.LoadInitialParams.html">PageKeyedDataSource.LoadInitialParams</a></code></td>
            <td width="100%">
              <p>Holder object for inputs to <code><a href="/reference/kotlin/androidx/paging/PageKeyedDataSource.html#loadInitial(androidx.paging.PageKeyedDataSource.LoadInitialParams)">loadInitial</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PageKeyedDataSource.LoadParams.html">PageKeyedDataSource.LoadParams</a></code></td>
            <td width="100%">
              <p>Holder object for inputs to <code><a href="/reference/kotlin/androidx/paging/PageKeyedDataSource.html#loadBefore(androidx.paging.PageKeyedDataSource.LoadParams)">loadBefore</a></code> and <code><a href="/reference/kotlin/androidx/paging/PageKeyedDataSource.html#loadAfter(androidx.paging.PageKeyedDataSource.LoadParams)">loadAfter</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagedList.html">PagedList</a></code></td>
            <td width="100%">
              <p><strong>This class is deprecated.</strong> PagedList is deprecated and has been replaced by PagingData</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagedList.BoundaryCallback.html">PagedList.BoundaryCallback</a></code></td>
            <td width="100%">
              <p>Signals when a PagedList has reached the end of available data.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagedList.Builder.html">PagedList.Builder</a></code></td>
            <td width="100%">
              <p><strong>This class is deprecated.</strong> PagedList is deprecated and has been replaced by PagingData, which no longer supports constructing snapshots of loaded data manually.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagedList.Callback.html">PagedList.Callback</a></code></td>
            <td width="100%">
              <p>Callback signaling when content is loaded into the list.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagedList.Companion.html">PagedList.Companion</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagedList.Config.html">PagedList.Config</a></code></td>
            <td width="100%">
              <p>Configures how a <code><a href="/reference/kotlin/androidx/paging/PagedList.html">PagedList</a></code> loads content from its <code><a href="/reference/kotlin/androidx/paging/PagingSource.html">PagingSource</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagedList.Config.Builder.html">PagedList.Config.Builder</a></code></td>
            <td width="100%">
              <p>Builder class for <code><a href="/reference/kotlin/androidx/paging/PagedList.Config.html">PagedList.Config</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagedList.LoadStateManager.html">PagedList.LoadStateManager</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagedListAdapter.html">PagedListAdapter</a></code></td>
            <td width="100%">
              <p><strong>This class is deprecated.</strong> PagedListAdapter is deprecated and has been replaced by PagingDataAdapter</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/Pager.html">Pager</a></code></td>
            <td width="100%">
              <p>Primary entry point into Paging; constructor for a reactive stream of <code><a href="/reference/kotlin/androidx/paging/PagingData.html">PagingData</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingConfig.html">PagingConfig</a></code></td>
            <td width="100%">
              <p>An object used to configure loading behavior within a <code><a href="/reference/kotlin/androidx/paging/Pager.html">Pager</a></code>, as it loads content from a <code><a href="/reference/kotlin/androidx/paging/PagingSource.html">PagingSource</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingConfig.Companion.html">PagingConfig.Companion</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingData.html">PagingData</a></code></td>
            <td width="100%">
              <p>Container for Paged data from a single generation of loads.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingData.Companion.html">PagingData.Companion</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingDataAdapter.html">PagingDataAdapter</a></code></td>
            <td width="100%">
              <p>RecyclerView.Adapter base class for presenting paged data from <code><a href="/reference/kotlin/androidx/paging/PagingData.html">PagingData</a></code>s in a RecyclerView.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingDataDiffer.html">PagingDataDiffer</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingLiveDataKt.html">PagingLiveDataKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/rxjava2/PagingRxKt.html">PagingRxKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/rxjava3/PagingRxKt.html">PagingRxKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingSource.html">PagingSource</a></code></td>
            <td width="100%">
              <p>Base class for an abstraction of pageable static data from some source, where loading pages of data is typically an expensive operation.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingSource.LoadParams.html">PagingSource.LoadParams</a></code></td>
            <td width="100%">
              <p>Params for a load request on a <code><a href="/reference/kotlin/androidx/paging/PagingSource.html">PagingSource</a></code> from <code><a href="/reference/kotlin/androidx/paging/PagingSource.html#load(androidx.paging.PagingSource.LoadParams)">PagingSource.load</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingSource.LoadParams.Append.html">PagingSource.LoadParams.Append</a></code></td>
            <td width="100%">
              <p>Params to load a page of data from a <code><a href="/reference/kotlin/androidx/paging/PagingSource.html">PagingSource</a></code> via <code><a href="/reference/kotlin/androidx/paging/PagingSource.html#load(androidx.paging.PagingSource.LoadParams)">PagingSource.load</a></code> to be appended to the end of the list.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingSource.LoadParams.Prepend.html">PagingSource.LoadParams.Prepend</a></code></td>
            <td width="100%">
              <p>Params to load a page of data from a <code><a href="/reference/kotlin/androidx/paging/PagingSource.html">PagingSource</a></code> via <code><a href="/reference/kotlin/androidx/paging/PagingSource.html#load(androidx.paging.PagingSource.LoadParams)">PagingSource.load</a></code> to be prepended to the start of the list.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingSource.LoadParams.Refresh.html">PagingSource.LoadParams.Refresh</a></code></td>
            <td width="100%">
              <p>Params for an initial load request on a <code><a href="/reference/kotlin/androidx/paging/PagingSource.html">PagingSource</a></code> from <code><a href="/reference/kotlin/androidx/paging/PagingSource.html#load(androidx.paging.PagingSource.LoadParams)">PagingSource.load</a></code> or a refresh triggered by <code><a href="/reference/kotlin/androidx/paging/PagingSource.html#invalidate()">invalidate</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingSource.LoadResult.html">PagingSource.LoadResult</a></code></td>
            <td width="100%">
              <p>Result of a load request from <code><a href="/reference/kotlin/androidx/paging/PagingSource.html#load(androidx.paging.PagingSource.LoadParams)">PagingSource.load</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingSource.LoadResult.Error.html">PagingSource.LoadResult.Error</a></code></td>
            <td width="100%">
              <p>Error result object for <code><a href="/reference/kotlin/androidx/paging/PagingSource.html#load(androidx.paging.PagingSource.LoadParams)">PagingSource.load</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingSource.LoadResult.Page.html">PagingSource.LoadResult.Page</a></code></td>
            <td width="100%">
              <p>Success result object for <code><a href="/reference/kotlin/androidx/paging/PagingSource.html#load(androidx.paging.PagingSource.LoadParams)">PagingSource.load</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingSource.LoadResult.Page.Companion.html">PagingSource.LoadResult.Page.Companion</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingSourceKt.html">PagingSourceKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingState.html">PagingState</a></code></td>
            <td width="100%">
              <p>Snapshot state of Paging system including the loaded <code><a href="/reference/kotlin/androidx/paging/PagingState.html#pages()">pages</a></code>, the last accessed <code><a href="/reference/kotlin/androidx/paging/PagingState.html#anchorPosition()">anchorPosition</a></code>, and the <code><a href="/reference/kotlin/androidx/paging/PagingState.html#config()">config</a></code> used.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PositionalDataSource.html">PositionalDataSource</a></code></td>
            <td width="100%">
              <p><strong>This class is deprecated.</strong> PositionalDataSource is deprecated and has been replaced by PagingSource</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PositionalDataSource.Companion.html">PositionalDataSource.Companion</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PositionalDataSource.LoadInitialCallback.html">PositionalDataSource.LoadInitialCallback</a></code></td>
            <td width="100%">
              <p>Callback for <code><a href="/reference/kotlin/androidx/paging/PositionalDataSource.html#loadInitial(androidx.paging.PositionalDataSource.LoadInitialParams)">loadInitial</a></code> to return data, position, and count.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PositionalDataSource.LoadInitialParams.html">PositionalDataSource.LoadInitialParams</a></code></td>
            <td width="100%">
              <p>Holder object for inputs to <code><a href="/reference/kotlin/androidx/paging/PositionalDataSource.html#loadInitial(androidx.paging.PositionalDataSource.LoadInitialParams)">loadInitial</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PositionalDataSource.LoadRangeCallback.html">PositionalDataSource.LoadRangeCallback</a></code></td>
            <td width="100%">
              <p>Callback for PositionalDataSource <code><a href="/reference/kotlin/androidx/paging/PositionalDataSource.html#loadRange(androidx.paging.PositionalDataSource.LoadRangeParams)">loadRange</a></code> to return data.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PositionalDataSource.LoadRangeParams.html">PositionalDataSource.LoadRangeParams</a></code></td>
            <td width="100%">
              <p>Holder object for inputs to <code><a href="/reference/kotlin/androidx/paging/PositionalDataSource.html#loadRange(androidx.paging.PositionalDataSource.LoadRangeParams)">loadRange</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingLiveDataKt.html">PagingLiveDataKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/PagingSourceKt.html">PagingSourceKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/rxjava2/PagingRxKt.html">PagingRxKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/rxjava3/PagingRxKt.html">PagingRxKt</a></code></td>
            <td width="100%"></td>
          </tr>
        </tbody>
      </table>
    </div>
    <h2 id="letter_R">R</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <tbody>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/RemoteMediator.html">RemoteMediator</a></code></td>
            <td width="100%">
              <p>Defines a set of callbacks, which may be optionally registered when constructing a <code><a href="/reference/kotlin/androidx/paging/Pager.html">Pager</a></code>, that allow for control of the following events:</p>
              <ul>
                <li>
                  <p>Stream initialization</p>
                </li>
                <li>
                  <p><code><a href="/reference/kotlin/androidx/paging/LoadType.REFRESH.html">LoadType.REFRESH</a></code> signal driven from UI</p>
                </li>
                <li>
                  <p><code><a href="/reference/kotlin/androidx/paging/PagingSource.html">PagingSource</a></code> returns a <code><a href="/reference/kotlin/androidx/paging/PagingSource.LoadResult.html">PagingSource.LoadResult</a></code> which signals a boundary condition, i.e., the first page for <code><a href="/reference/kotlin/androidx/paging/LoadType.PREPEND.html">LoadType.PREPEND</a></code> or the last page for <code><a href="/reference/kotlin/androidx/paging/LoadType.APPEND.html">LoadType.APPEND</a></code>.</p>
                </li>
              </ul>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/RemoteMediator.InitializeAction.html">RemoteMediator.InitializeAction</a></code></td>
            <td width="100%">
              <p>Return type of <code><a href="/reference/kotlin/androidx/paging/RemoteMediator.html#initialize()">initialize</a></code>, which signals the action to take after <code><a href="/reference/kotlin/androidx/paging/RemoteMediator.html#initialize()">initialize</a></code> completes.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/RemoteMediator.MediatorResult.html">RemoteMediator.MediatorResult</a></code></td>
            <td width="100%">
              <p>Return type of <code><a href="/reference/kotlin/androidx/paging/RemoteMediator.html#load(androidx.paging.LoadType,androidx.paging.PagingState)">load</a></code>, which determines <code><a href="/reference/kotlin/androidx/paging/LoadState.html">LoadState</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/RemoteMediator.MediatorResult.Error.html">RemoteMediator.MediatorResult.Error</a></code></td>
            <td width="100%">
              <p>Recoverable error that can be retried, sets the <code><a href="/reference/kotlin/androidx/paging/LoadState.html">LoadState</a></code> to <code><a href="/reference/kotlin/androidx/paging/LoadState.Error.html">LoadState.Error</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/RemoteMediator.MediatorResult.Success.html">RemoteMediator.MediatorResult.Success</a></code></td>
            <td width="100%">
              <p>Success signaling that <code><a href="/reference/kotlin/androidx/paging/LoadState.html">LoadState</a></code> should be set to <code><a href="/reference/kotlin/androidx/paging/LoadState.NotLoading.html">LoadState.NotLoading</a></code> if <code><a href="/reference/kotlin/androidx/paging/RemoteMediator.MediatorResult.Success.html#endOfPaginationReached()">endOfPaginationReached</a></code> is <code>true</code>, otherwise <code><a href="/reference/kotlin/androidx/paging/LoadState.html">LoadState</a></code> is kept at <code><a href="/reference/kotlin/androidx/paging/LoadState.Loading.html">LoadState.Loading</a></code> to await invalidation.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/RxPagedListBuilder.html">RxPagedListBuilder</a></code></td>
            <td width="100%">
              <p><strong>This class is deprecated.</strong> PagedList is deprecated and has been replaced by PagingData</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/RxPagedListKt.html">RxPagedListKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/rxjava2/RxPagingDataKt.html">RxPagingDataKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/rxjava3/RxPagingDataKt.html">RxPagingDataKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/rxjava2/RxPagingSource.html">RxPagingSource</a></code></td>
            <td width="100%">
              <p>Rx-based compatibility wrapper around <code><a href="/reference/kotlin/androidx/paging/PagingSource.html">PagingSource</a></code>'s suspending APIs.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/rxjava3/RxPagingSource.html">RxPagingSource</a></code></td>
            <td width="100%">
              <p>Rx-based compatibility wrapper around <code><a href="/reference/kotlin/androidx/paging/PagingSource.html">PagingSource</a></code>'s suspending APIs.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/rxjava2/RxRemoteMediator.html">RxRemoteMediator</a></code></td>
            <td width="100%">
              <p>RxJava2 compatibility wrapper around <code><a href="/reference/kotlin/androidx/paging/RemoteMediator.html">RemoteMediator</a></code>'s suspending APIs.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/rxjava3/RxRemoteMediator.html">RxRemoteMediator</a></code></td>
            <td width="100%">
              <p>RxJava3 compatibility wrapper around <code><a href="/reference/kotlin/androidx/paging/RemoteMediator.html">RemoteMediator</a></code>'s suspending APIs.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/RxPagedListKt.html">RxPagedListKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/rxjava2/RxPagingDataKt.html">RxPagingDataKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/kotlin/androidx/paging/rxjava3/RxPagingDataKt.html">RxPagingDataKt</a></code></td>
            <td width="100%"></td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>
