# PositionalDataSource.LoadRangeCallback

Artifact: [androidx.paging:paging-common](https://developer.android.com/jetpack/androidx/releases/paging) [View Source](https://cs.android.com/search?q=file:androidx/paging/PositionalDataSource.jvmAndAndroid.kt+class:androidx.paging.PositionalDataSource.LoadRangeCallback) 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)

*** ** * ** ***


```
public abstract class PositionalDataSource.LoadRangeCallback<T extends Object>
```

<br />

*** ** * ** ***

> [!CAUTION]
> **This class is deprecated.**   
> PositionalDataSource is deprecated and has been replaced by PagingSource, use this instead:
>
> ```
> PagingSource<Int, T>
> ```

Callback for PositionalDataSource `https://developer.android.com/reference/androidx/paging/PositionalDataSource#loadRange(androidx.paging.PositionalDataSource.LoadRangeParams)` to return data.

A callback should be called only once, and may throw if called again.

It is always valid for a `https://developer.android.com/reference/androidx/paging/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 |
|---|---|
| `<T extends https://developer.android.com/reference/java/lang/Object.html>` | Type of items being loaded. |

## Summary

| ### Public constructors |
|---|
| `<T extends https://developer.android.com/reference/java/lang/Object.html> [LoadRangeCallback](https://developer.android.com/reference/androidx/paging/PositionalDataSource.LoadRangeCallback#LoadRangeCallback())()` **This method is deprecated.** PositionalDataSource is deprecated and has been replaced by PagingSource |

| ### Public methods |
|---|---|
| `abstract void` | `[onResult](https://developer.android.com/reference/androidx/paging/PositionalDataSource.LoadRangeCallback#onResult(kotlin.collections.List))(@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> data)` **This method is deprecated.** PositionalDataSource is deprecated and has been replaced by PagingSource |

## Public constructors

### LoadRangeCallback

```
public <T extends Object> [LoadRangeCallback](https://developer.android.com/reference/androidx/paging/PositionalDataSource.LoadRangeCallback#LoadRangeCallback())()
```

> [!CAUTION]
> **This method is deprecated.**   
> PositionalDataSource is deprecated and has been replaced by PagingSource, use this instead:
>
> ```
> PagingSource<Int, T>
> ```

| Parameters |
|---|---|
| `<T extends https://developer.android.com/reference/java/lang/Object.html>` | Type of items being loaded. |

## Public methods

### onResult

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

```
public abstract void [onResult](https://developer.android.com/reference/androidx/paging/PositionalDataSource.LoadRangeCallback#onResult(kotlin.collections.List))(@NonNull List<@NonNull T> data)
```

> [!CAUTION]
> **This method is deprecated.**   
> PositionalDataSource is deprecated and has been replaced by PagingSource, use this instead:
>
> ```
> PagingSource<Int, T>
> ```

Called to pass loaded data from `https://developer.android.com/reference/androidx/paging/PositionalDataSource#loadRange(androidx.paging.PositionalDataSource.LoadRangeParams)`.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/java/util/List.html<@https://developer.android.com/reference/androidx/annotation/NonNull T> data` | List of items loaded from the `https://developer.android.com/reference/androidx/paging/DataSource`. Must be same size as requested, unless at end of list. |