# ItemKeyedDataSource.LoadCallback

Artifact: [androidx.paging:paging-common](https://developer.android.com/jetpack/androidx/releases/paging) [View Source](https://cs.android.com/search?q=file:androidx/paging/ItemKeyedDataSource.jvmAndAndroid.kt+class:androidx.paging.ItemKeyedDataSource.LoadCallback) Added in [2.0.0](https://developer.android.com/jetpack/androidx/releases/paging#2.0.0) Deprecated in [3.0.0](https://developer.android.com/jetpack/androidx/releases/paging#3.0.0)

*** ** * ** ***

Common/AllAndroid/JVMNative/C/iOSJavaScript
- android

  ```
  abstract class ItemKeyedDataSource.LoadCallback<Value : Any?>
  ```
Known direct subclasses [ItemKeyedDataSource.LoadInitialCallback](https://developer.android.com/reference/kotlin/androidx/paging/ItemKeyedDataSource.LoadInitialCallback)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/paging/ItemKeyedDataSource.LoadInitialCallback` | **This class is deprecated.** ItemKeyedDataSource is deprecated and has been replaced by PagingSource |

*** ** * ** ***

> [!CAUTION]
> **This class is deprecated.**   
> ItemKeyedDataSource is deprecated and has been replaced by PagingSource, use this instead:
>
> ```kotlin
> PagingSource<Key, Value>
> ```

Callback for ItemKeyedDataSource `https://developer.android.com/reference/kotlin/androidx/paging/ItemKeyedDataSource#loadBefore(androidx.paging.ItemKeyedDataSource.LoadParams)` and `https://developer.android.com/reference/kotlin/androidx/paging/ItemKeyedDataSource#loadAfter(androidx.paging.ItemKeyedDataSource.LoadParams)` 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).

| Parameters |
|---|---|
| `<Value : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?>` | Type of items being loaded. |

## Summary

| ### Public constructors |
|---|---|
| `<Value : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?> [LoadCallback](https://developer.android.com/reference/kotlin/androidx/paging/ItemKeyedDataSource.LoadCallback#LoadCallback())()` **This function is deprecated.** ItemKeyedDataSource is deprecated and has been replaced by PagingSource | android |

| ### Public functions |
|---|---|---|
| `abstract https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `[onResult](https://developer.android.com/reference/kotlin/androidx/paging/ItemKeyedDataSource.LoadCallback#onResult(kotlin.collections.List))(data: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<Value>)` **This function is deprecated.** ItemKeyedDataSource is deprecated and has been replaced by PagingSource | android |

## Public constructors

### LoadCallback

android

```
<Value : Any?> [LoadCallback](https://developer.android.com/reference/kotlin/androidx/paging/ItemKeyedDataSource.LoadCallback#LoadCallback())()
```

> [!CAUTION]
> **This function is deprecated.**   
> ItemKeyedDataSource is deprecated and has been replaced by PagingSource, use this instead:
>
> ```kotlin
> PagingSource<Key, Value>
> ```

| Parameters |
|---|---|
| `<Value : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?>` | Type of items being loaded. |

## Public functions

### onResult

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

```
abstract fun [onResult](https://developer.android.com/reference/kotlin/androidx/paging/ItemKeyedDataSource.LoadCallback#onResult(kotlin.collections.List))(data: List<Value>): Unit
```

> [!CAUTION]
> **This function is deprecated.**   
> ItemKeyedDataSource is deprecated and has been replaced by PagingSource, use this instead:
>
> ```kotlin
> PagingSource<Key, Value>
> ```

Called to pass loaded data from a DataSource.

Call this method from your ItemKeyedDataSource's `https://developer.android.com/reference/kotlin/androidx/paging/ItemKeyedDataSource#loadBefore(androidx.paging.ItemKeyedDataSource.LoadParams)` and `https://developer.android.com/reference/kotlin/androidx/paging/ItemKeyedDataSource#loadAfter(androidx.paging.ItemKeyedDataSource.LoadParams)` methods to return data.

Call this from `https://developer.android.com/reference/kotlin/androidx/paging/ItemKeyedDataSource#loadInitial(androidx.paging.ItemKeyedDataSource.LoadInitialParams)` 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.

| Parameters |
|---|---|
| `data: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<Value>` | List of items loaded from the `https://developer.android.com/reference/kotlin/androidx/paging/ItemKeyedDataSource`. |