# ItemKeyedDataSource.LoadCallback

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

# ItemKeyedDataSource.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.ItemKeyedDataSource.LoadCallback](https://developer.android.com/reference/androidx/paging/ItemKeyedDataSource.LoadCallback)instead.

`
public
static

abstract
class
ItemKeyedDataSource.LoadCallback
`  
`

extends Object


``


`

|---|---------------------------------------------------------------|
| java.lang.Object                                                 ||
| ↳ | android.arch.paging.ItemKeyedDataSource.LoadCallback\<Value\> |

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Known direct subclasses [ItemKeyedDataSource.LoadInitialCallback](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource.LoadInitialCallback)\<Value\> |---------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [ItemKeyedDataSource.LoadInitialCallback](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource.LoadInitialCallback)\<Value\> | Callback for[loadInitial(LoadInitialParams, LoadInitialCallback)](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource#loadInitial(android.arch.paging.ItemKeyedDataSource.LoadInitialParams<Key>, android.arch.paging.ItemKeyedDataSource.LoadInitialCallback<Value>))to return data and, optionally, position/count information. | |

<br />

*** ** * ** ***

Callback for ItemKeyedDataSource[loadBefore(LoadParams, LoadCallback)](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource#loadBefore(android.arch.paging.ItemKeyedDataSource.LoadParams<Key>, android.arch.paging.ItemKeyedDataSource.LoadCallback<Value>))and[loadAfter(LoadParams, LoadCallback)](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource#loadAfter(android.arch.paging.ItemKeyedDataSource.LoadParams<Key>, android.arch.paging.ItemKeyedDataSource.LoadCallback<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                                                                             ||
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[ItemKeyedDataSource.LoadCallback](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource.LoadCallback#ItemKeyedDataSource.LoadCallback())`() ` |

|                                                                                                        ### Public methods                                                                                                        ||
|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` abstract void` | ` `[onResult](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource.LoadCallback#onResult(java.util.List<Value>))`(List<Value> data) ` 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

### ItemKeyedDataSource.LoadCallback

```
ItemKeyedDataSource.LoadCallback ()
```

<br />

<br />

## Public methods

### onResult

```
void onResult (List<Value> data)
```

Called to pass loaded data from a DataSource.

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

Call this from[loadInitial(LoadInitialParams, LoadInitialCallback)](https://developer.android.com/reference/android/arch/paging/ItemKeyedDataSource#loadInitial(android.arch.paging.ItemKeyedDataSource.LoadInitialParams<Key>, android.arch.paging.ItemKeyedDataSource.LoadInitialCallback<Value>))to initialize without counting available data, or supporting placeholders.

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.

<br />

|                                Parameters                                 ||
|--------|-------------------------------------------------------------------|
| `data` | `List`: List of items loaded from the ItemKeyedDataSource. <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)