# PageKeyedDataSource.LoadCallback

Summary:[Ctors](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource.LoadCallback#pubctors)\|[Methods](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource.LoadCallback#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource.LoadCallback#inhmethods)  

# PageKeyedDataSource.LoadCallback

| The`android.arch`Architecture Components packages are no longer maintained. They have been superseded by the corresponding[androidx.\*](https://developer.android.com/jetpack/androidx/migrate)packages. See[androidx.paging.PageKeyedDataSource.LoadCallback](https://developer.android.com/reference/androidx/paging/PageKeyedDataSource.LoadCallback)instead.

`
public
static

abstract
class
PageKeyedDataSource.LoadCallback
`  
`

extends Object


``


`

|---|--------------------------------------------------------------------|
| java.lang.Object                                                      ||
| ↳ | android.arch.paging.PageKeyedDataSource.LoadCallback\<Key, Value\> |

<br />

*** ** * ** ***

Callback for PageKeyedDataSource[loadBefore(LoadParams, LoadCallback)](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource#loadBefore(android.arch.paging.PageKeyedDataSource.LoadParams<Key>, android.arch.paging.PageKeyedDataSource.LoadCallback<Key, Value>))and[loadAfter(LoadParams, LoadCallback)](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource#loadAfter(android.arch.paging.PageKeyedDataSource.LoadParams<Key>, android.arch.paging.PageKeyedDataSource.LoadCallback<Key, Value>))to return data.

A callback can be called only once, and will throw if called again.

It is always valid for a DataSource loading method that takes a callback to stash the callback and call it later. This enables DataSources to be fully asynchronous, and to handle temporary, recoverable error states (such as a network error that can be retried).

## Summary

|                                                                            ### Public constructors                                                                             ||
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[PageKeyedDataSource.LoadCallback](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource.LoadCallback#PageKeyedDataSource.LoadCallback())`() ` |

|                                                                                                                     ### Public methods                                                                                                                     ||
|------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` abstract void` | ` `[onResult](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource.LoadCallback#onResult(java.util.List<Value>, Key))`(List<Value> data, Key adjacentPageKey) ` Called to pass loaded data from a DataSource. |

| ### Inherited methods |
|-----------------------|---|
| From class` java.lang.Object ` |-------------------|-------------------------------| | ` Object`         | ` clone() `                   | | ` boolean`        | ` equals(Object arg0) `       | | ` void`           | ` finalize() `                | | ` final Class<?>` | ` getClass() `                | | ` int`            | ` hashCode() `                | | ` final void`     | ` notify() `                  | | ` final void`     | ` notifyAll() `               | | ` String`         | ` toString() `                | | ` final void`     | ` wait(long arg0, int arg1) ` | | ` final void`     | ` wait(long arg0) `           | | ` final void`     | ` wait() `                    | ||

## Public constructors

### PageKeyedDataSource.LoadCallback

```
PageKeyedDataSource.LoadCallback ()
```

<br />

<br />

## Public methods

### onResult

```
void onResult (List<Value> data, 
                Key adjacentPageKey)
```

Called to pass loaded data from a DataSource.

Call this method from your PageKeyedDataSource's[loadBefore(LoadParams, LoadCallback)](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource#loadBefore(android.arch.paging.PageKeyedDataSource.LoadParams<Key>, android.arch.paging.PageKeyedDataSource.LoadCallback<Key, Value>))and[loadAfter(LoadParams, LoadCallback)](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource#loadAfter(android.arch.paging.PageKeyedDataSource.LoadParams<Key>, android.arch.paging.PageKeyedDataSource.LoadCallback<Key, Value>))methods to return data.

It is always valid to pass a different amount of data than what is requested. Pass an empty list if there is no more data to load.

Pass the key for the subsequent page to load to adjacentPageKey. For example, if you've loaded a page in[loadBefore(LoadParams, LoadCallback)](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource#loadBefore(android.arch.paging.PageKeyedDataSource.LoadParams<Key>, android.arch.paging.PageKeyedDataSource.LoadCallback<Key, Value>)), pass the key for the previous page, or`null`if the loaded page is the first. If in[loadAfter(LoadParams, LoadCallback)](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource#loadAfter(android.arch.paging.PageKeyedDataSource.LoadParams<Key>, android.arch.paging.PageKeyedDataSource.LoadCallback<Key, Value>)), pass the key for the next page, or`null`if the loaded page is the last.

<br />

|                                                                                                                                                                                                                                                                                                                                                                                    Parameters                                                                                                                                                                                                                                                                                                                                                                                     ||
|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `data`            | `List`: List of items loaded from the PageKeyedDataSource. <br />                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `adjacentPageKey` | `Key`: Key for subsequent page load (previous page in[loadBefore(PageKeyedDataSource.LoadParams, PageKeyedDataSource.LoadCallback)](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource#loadBefore(android.arch.paging.PageKeyedDataSource.LoadParams<Key>, android.arch.paging.PageKeyedDataSource.LoadCallback<Key, Value>))/ next page in[loadAfter(PageKeyedDataSource.LoadParams, PageKeyedDataSource.LoadCallback)](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource#loadAfter(android.arch.paging.PageKeyedDataSource.LoadParams<Key>, android.arch.paging.PageKeyedDataSource.LoadCallback<Key, Value>))), or`null`if there are no more pages to load in the current load direction. <br /> |

-

  ## Interfaces

  - [DataSource.InvalidatedCallback](https://developer.android.com/reference/android/arch/paging/DataSource.InvalidatedCallback)
-

  ## Classes

  - [AsyncPagedListDiffer](https://developer.android.com/reference/android/arch/paging/AsyncPagedListDiffer)
  - [DataSource](https://developer.android.com/reference/android/arch/paging/DataSource)
  - [DataSource.Factory](https://developer.android.com/reference/android/arch/paging/DataSource.Factory)
  - [ItemKeyedDataSource](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource)
  - [ItemKeyedDataSource.LoadCallback](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource.LoadCallback)
  - [ItemKeyedDataSource.LoadInitialCallback](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource.LoadInitialCallback)
  - [ItemKeyedDataSource.LoadInitialParams](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource.LoadInitialParams)
  - [ItemKeyedDataSource.LoadParams](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource.LoadParams)
  - [LivePagedListBuilder](https://developer.android.com/reference/android/arch/paging/LivePagedListBuilder)
  - [PagedList](https://developer.android.com/reference/android/arch/paging/PagedList)
  - [PagedList.BoundaryCallback](https://developer.android.com/reference/android/arch/paging/PagedList.BoundaryCallback)
  - [PagedList.Builder](https://developer.android.com/reference/android/arch/paging/PagedList.Builder)
  - [PagedList.Callback](https://developer.android.com/reference/android/arch/paging/PagedList.Callback)
  - [PagedList.Config](https://developer.android.com/reference/android/arch/paging/PagedList.Config)
  - [PagedList.Config.Builder](https://developer.android.com/reference/android/arch/paging/PagedList.Config.Builder)
  - [PagedListAdapter](https://developer.android.com/reference/android/arch/paging/PagedListAdapter)
  - [PageKeyedDataSource](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource)
  - [PageKeyedDataSource.LoadCallback](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource.LoadCallback)
  - [PageKeyedDataSource.LoadInitialCallback](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource.LoadInitialCallback)
  - [PageKeyedDataSource.LoadInitialParams](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource.LoadInitialParams)
  - [PageKeyedDataSource.LoadParams](https://developer.android.com/reference/android/arch/paging/PageKeyedDataSource.LoadParams)
  - [PositionalDataSource](https://developer.android.com/reference/android/arch/paging/PositionalDataSource)
  - [PositionalDataSource.LoadInitialCallback](https://developer.android.com/reference/android/arch/paging/PositionalDataSource.LoadInitialCallback)
  - [PositionalDataSource.LoadInitialParams](https://developer.android.com/reference/android/arch/paging/PositionalDataSource.LoadInitialParams)
  - [PositionalDataSource.LoadRangeCallback](https://developer.android.com/reference/android/arch/paging/PositionalDataSource.LoadRangeCallback)
  - [PositionalDataSource.LoadRangeParams](https://developer.android.com/reference/android/arch/paging/PositionalDataSource.LoadRangeParams)
  - [RxPagedListBuilder](https://developer.android.com/reference/android/arch/paging/RxPagedListBuilder)