<html devsite="true">
  <head>
    <title>androidx.paging</title>
{% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %}
{% include "_shared/_reference-head-tags.html" %}
  </head>
  <body>
    <h1>androidx.paging</h1>
{% setvar page_path %}androidx/paging/package-summary.html{% endsetvar %}
{% setvar can_switch %}1{% endsetvar %}
{% include "reference/_java_switcher2.md" %}
    <h2>Interfaces</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <tbody>
          <tr>
            <td><code><a href="/reference/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/androidx/paging/DataSource.InvalidatedCallback.html">DataSource.InvalidatedCallback</a></code></td>
            <td width="100%">
              <p>Invalidation callback for <code><a href="/reference/androidx/paging/DataSource.html">DataSource</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/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>
          <tr>
            <td><code><a href="/reference/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>Classes</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <tbody>
          <tr>
            <td><code><a href="/reference/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/androidx/paging/AsyncPagingDataDiffer.html">AsyncPagingDataDiffer</a></code></td>
            <td width="100%">
              <p>Helper class for mapping a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> into a androidx.recyclerview.widget.RecyclerView.Adapter.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/CachedPagingDataKt.html">CachedPagingDataKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/CombinedLoadStates.html">CombinedLoadStates</a></code></td>
            <td width="100%">
              <p>Collection of pagination <code><a href="/reference/androidx/paging/LoadState.html">LoadState</a></code>s for both a <code><a href="/reference/androidx/paging/PagingSource.html">PagingSource</a></code>, and <code><a href="/reference/androidx/paging/RemoteMediator.html">RemoteMediator</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/ContiguousPagedList.html">ContiguousPagedList</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/androidx/paging/PagedList.html">PagedList</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/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/androidx/paging/PagedList.html">PagedList</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/androidx/paging/ItemKeyedDataSource.LoadCallback.html">ItemKeyedDataSource.LoadCallback</a></code></td>
            <td width="100%">
              <p>Callback for ItemKeyedDataSource <code><a href="/reference/androidx/paging/ItemKeyedDataSource.html#loadBefore(androidx.paging.ItemKeyedDataSource.LoadParams)">loadBefore</a></code> and <code><a href="/reference/androidx/paging/ItemKeyedDataSource.html#loadAfter(androidx.paging.ItemKeyedDataSource.LoadParams)">loadAfter</a></code> to return data.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/ItemKeyedDataSource.LoadInitialCallback.html">ItemKeyedDataSource.LoadInitialCallback</a></code></td>
            <td width="100%">
              <p>Callback for <code><a href="/reference/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/androidx/paging/ItemKeyedDataSource.LoadInitialParams.html">ItemKeyedDataSource.LoadInitialParams</a></code></td>
            <td width="100%">
              <p>Holder object for inputs to <code><a href="/reference/androidx/paging/ItemKeyedDataSource.html#loadInitial(androidx.paging.ItemKeyedDataSource.LoadInitialParams)">loadInitial</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/ItemKeyedDataSource.LoadParams.html">ItemKeyedDataSource.LoadParams</a></code></td>
            <td width="100%">
              <p>Holder object for inputs to <code><a href="/reference/androidx/paging/ItemKeyedDataSource.html#loadBefore(androidx.paging.ItemKeyedDataSource.LoadParams)">loadBefore</a></code> and <code><a href="/reference/androidx/paging/ItemKeyedDataSource.html#loadAfter(androidx.paging.ItemKeyedDataSource.LoadParams)">loadAfter</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/androidx/paging/PagingDataAdapter.html">PagingDataAdapter</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/ListenableFuturePagingSource.html">ListenableFuturePagingSource</a></code></td>
            <td width="100%">
              <p>ListenableFuture-based compatibility wrapper around <code><a href="/reference/androidx/paging/PagingSource.html">PagingSource</a></code>'s suspending APIs.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/ListenableFutureRemoteMediator.html">ListenableFutureRemoteMediator</a></code></td>
            <td width="100%">
              <p>ListenableFuture-based  compatibility wrapper around <code><a href="/reference/androidx/paging/RemoteMediator.html">RemoteMediator</a></code>'s suspending APIs.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/androidx/paging/LivePagedListKt.html">LivePagedListKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/LoadState.html">LoadState</a></code></td>
            <td width="100%">
              <p>LoadState of a PagedList load - associated with a <code><a href="/reference/androidx/paging/LoadType.html">LoadType</a></code></p>
              <p><code><a href="/reference/androidx/paging/LoadState.html">LoadState</a></code> of any <code><a href="/reference/androidx/paging/LoadType.html">LoadType</a></code> may be observed for UI purposes by registering a listener via <code><a href="/reference/androidx/paging/PagingDataAdapter.html#addLoadStateListener(kotlin.Function1)">androidx.paging.PagingDataAdapter.addLoadStateListener</a></code> or <code><a href="/reference/androidx/paging/AsyncPagingDataDiffer.html#addLoadStateListener(kotlin.Function1)">androidx.paging.AsyncPagingDataDiffer.addLoadStateListener</a></code></p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/androidx/paging/LoadState.NotLoading.html">LoadState.NotLoading</a></code></td>
            <td width="100%">
              <p>Indicates the <code><a href="/reference/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/androidx/paging/LoadStateAdapter.html">LoadStateAdapter</a></code></td>
            <td width="100%">
              <p>Adapter for displaying a RecyclerView item based on <code><a href="/reference/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/androidx/paging/LoadStates.html">LoadStates</a></code></td>
            <td width="100%">
              <p>Collection of pagination <code><a href="/reference/androidx/paging/LoadState.html">LoadState</a></code>s - refresh, prepend, and append.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/MutableLoadStateCollection.html">MutableLoadStateCollection</a></code></td>
            <td width="100%">
              <p>TODO: Remove this once <code><a href="/reference/androidx/paging/PageEvent.LoadStateUpdate.html">PageEvent.LoadStateUpdate</a></code> contained <code><a href="/reference/androidx/paging/CombinedLoadStates.html">CombinedLoadStates</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/androidx/paging/PageKeyedDataSource.LoadCallback.html">PageKeyedDataSource.LoadCallback</a></code></td>
            <td width="100%">
              <p>Callback for <code><a href="/reference/androidx/paging/PageKeyedDataSource.html#loadBefore(androidx.paging.PageKeyedDataSource.LoadParams)">loadBefore</a></code> and <code><a href="/reference/androidx/paging/PageKeyedDataSource.html#loadAfter(androidx.paging.PageKeyedDataSource.LoadParams)">loadAfter</a></code> to return data.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/PageKeyedDataSource.LoadInitialCallback.html">PageKeyedDataSource.LoadInitialCallback</a></code></td>
            <td width="100%">
              <p>Callback for <code><a href="/reference/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/androidx/paging/PageKeyedDataSource.LoadInitialParams.html">PageKeyedDataSource.LoadInitialParams</a></code></td>
            <td width="100%">
              <p>Holder object for inputs to <code><a href="/reference/androidx/paging/PageKeyedDataSource.html#loadInitial(androidx.paging.PageKeyedDataSource.LoadInitialParams)">loadInitial</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/PageKeyedDataSource.LoadParams.html">PageKeyedDataSource.LoadParams</a></code></td>
            <td width="100%">
              <p>Holder object for inputs to <code><a href="/reference/androidx/paging/PageKeyedDataSource.html#loadBefore(androidx.paging.PageKeyedDataSource.LoadParams)">loadBefore</a></code> and <code><a href="/reference/androidx/paging/PageKeyedDataSource.html#loadAfter(androidx.paging.PageKeyedDataSource.LoadParams)">loadAfter</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/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/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/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/androidx/paging/PagedList.Config.html">PagedList.Config</a></code></td>
            <td width="100%">
              <p>Configures how a <code><a href="/reference/androidx/paging/PagedList.html">PagedList</a></code> loads content from its <code><a href="/reference/androidx/paging/PagingSource.html">PagingSource</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/PagedList.Config.Builder.html">PagedList.Config.Builder</a></code></td>
            <td width="100%">
              <p>Builder class for <code><a href="/reference/androidx/paging/PagedList.Config.html">PagedList.Config</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/PagedList.LoadStateManager.html">PagedList.LoadStateManager</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/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/androidx/paging/PagingData.html">PagingData</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/androidx/paging/Pager.html">Pager</a></code>, as it loads content from a <code><a href="/reference/androidx/paging/PagingSource.html">PagingSource</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/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/androidx/paging/PagingData.html">PagingData</a></code>s in a RecyclerView.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/PagingDataDiffer.html">PagingDataDiffer</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/PagingLiveDataKt.html">PagingLiveDataKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/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/androidx/paging/PagingSource.html">PagingSource</a></code> from <code><a href="/reference/androidx/paging/PagingSource.html#load(androidx.paging.PagingSource.LoadParams)">PagingSource.load</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/androidx/paging/PagingSource.html">PagingSource</a></code> via <code><a href="/reference/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/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/androidx/paging/PagingSource.html">PagingSource</a></code> via <code><a href="/reference/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/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/androidx/paging/PagingSource.html">PagingSource</a></code> from <code><a href="/reference/androidx/paging/PagingSource.html#load(androidx.paging.PagingSource.LoadParams)">PagingSource.load</a></code> or a refresh triggered by <code><a href="/reference/androidx/paging/PagingSource.html#invalidate()">invalidate</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/PagingSource.LoadResult.html">PagingSource.LoadResult</a></code></td>
            <td width="100%">
              <p>Result of a load request from <code><a href="/reference/androidx/paging/PagingSource.html#load(androidx.paging.PagingSource.LoadParams)">PagingSource.load</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/PagingSource.LoadResult.Error.html">PagingSource.LoadResult.Error</a></code></td>
            <td width="100%">
              <p>Error result object for <code><a href="/reference/androidx/paging/PagingSource.html#load(androidx.paging.PagingSource.LoadParams)">PagingSource.load</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/PagingSource.LoadResult.Page.html">PagingSource.LoadResult.Page</a></code></td>
            <td width="100%">
              <p>Success result object for <code><a href="/reference/androidx/paging/PagingSource.html#load(androidx.paging.PagingSource.LoadParams)">PagingSource.load</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/PagingSourceKt.html">PagingSourceKt</a></code></td>
            <td width="100%"></td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/PagingState.html">PagingState</a></code></td>
            <td width="100%">
              <p>Snapshot state of Paging system including the loaded <code><a href="/reference/androidx/paging/PagingState.html#pages()">pages</a></code>, the last accessed <code><a href="/reference/androidx/paging/PagingState.html#anchorPosition()">anchorPosition</a></code>, and the <code><a href="/reference/androidx/paging/PagingState.html#config()">config</a></code> used.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/androidx/paging/PositionalDataSource.LoadInitialCallback.html">PositionalDataSource.LoadInitialCallback</a></code></td>
            <td width="100%">
              <p>Callback for <code><a href="/reference/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/androidx/paging/PositionalDataSource.LoadInitialParams.html">PositionalDataSource.LoadInitialParams</a></code></td>
            <td width="100%">
              <p>Holder object for inputs to <code><a href="/reference/androidx/paging/PositionalDataSource.html#loadInitial(androidx.paging.PositionalDataSource.LoadInitialParams)">loadInitial</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/PositionalDataSource.LoadRangeCallback.html">PositionalDataSource.LoadRangeCallback</a></code></td>
            <td width="100%">
              <p>Callback for PositionalDataSource <code><a href="/reference/androidx/paging/PositionalDataSource.html#loadRange(androidx.paging.PositionalDataSource.LoadRangeParams)">loadRange</a></code> to return data.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/PositionalDataSource.LoadRangeParams.html">PositionalDataSource.LoadRangeParams</a></code></td>
            <td width="100%">
              <p>Holder object for inputs to <code><a href="/reference/androidx/paging/PositionalDataSource.html#loadRange(androidx.paging.PositionalDataSource.LoadRangeParams)">loadRange</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/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/androidx/paging/LoadType.REFRESH.html">LoadType.REFRESH</a></code> signal driven from UI</p>
                </li>
                <li>
                  <p><code><a href="/reference/androidx/paging/PagingSource.html">PagingSource</a></code> returns a <code><a href="/reference/androidx/paging/PagingSource.LoadResult.html">PagingSource.LoadResult</a></code> which signals a boundary condition, i.e., the first page for <code><a href="/reference/androidx/paging/LoadType.PREPEND.html">LoadType.PREPEND</a></code> or the last page for <code><a href="/reference/androidx/paging/LoadType.APPEND.html">LoadType.APPEND</a></code>.</p>
                </li>
              </ul>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/RemoteMediator.MediatorResult.html">RemoteMediator.MediatorResult</a></code></td>
            <td width="100%">
              <p>Return type of <code><a href="/reference/androidx/paging/RemoteMediator.html#load(androidx.paging.LoadType,androidx.paging.PagingState)">load</a></code>, which determines <code><a href="/reference/androidx/paging/LoadState.html">LoadState</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/androidx/paging/LoadState.html">LoadState</a></code> to <code><a href="/reference/androidx/paging/LoadState.Error.html">LoadState.Error</a></code>.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/RemoteMediator.MediatorResult.Success.html">RemoteMediator.MediatorResult.Success</a></code></td>
            <td width="100%">
              <p>Success signaling that <code><a href="/reference/androidx/paging/LoadState.html">LoadState</a></code> should be set to <code><a href="/reference/androidx/paging/LoadState.NotLoading.html">LoadState.NotLoading</a></code> if <code><a href="/reference/androidx/paging/RemoteMediator.MediatorResult.Success.html#endOfPaginationReached()">endOfPaginationReached</a></code> is <code>true</code>, otherwise <code><a href="/reference/androidx/paging/LoadState.html">LoadState</a></code> is kept at <code><a href="/reference/androidx/paging/LoadState.Loading.html">LoadState.Loading</a></code> to await invalidation.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/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/androidx/paging/RxPagedListKt.html">RxPagedListKt</a></code></td>
            <td width="100%"></td>
          </tr>
        </tbody>
      </table>
    </div>
    <h2>Enums</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <tbody>
          <tr>
            <td><code><a href="/reference/androidx/paging/LoadType.html">LoadType</a></code></td>
            <td width="100%">
              <p>Type of load a <code><a href="/reference/androidx/paging/PagingData.html">PagingData</a></code> can trigger a <code><a href="/reference/androidx/paging/PagingSource.html">PagingSource</a></code> to perform.</p>
            </td>
          </tr>
          <tr>
            <td><code><a href="/reference/androidx/paging/RemoteMediator.InitializeAction.html">RemoteMediator.InitializeAction</a></code></td>
            <td width="100%">
              <p>Return type of <code><a href="/reference/androidx/paging/RemoteMediator.html#initialize()">initialize</a></code>, which signals the action to take after <code><a href="/reference/androidx/paging/RemoteMediator.html#initialize()">initialize</a></code> completes.</p>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
    <h2>Annotations</h2>
    <div class="devsite-table-wrapper">
      <table class="responsive">
        <tbody>
          <tr>
            <td><code><a href="/reference/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>
  </body>
</html>
