Register now for Android Dev Summit 2019!

LoadCallback

abstract class LoadCallback<Key : Any!, Value : Any!>
kotlin.Any
   ↳ androidx.paging.PageKeyedDataSource.LoadCallback

Callback for PageKeyedDataSource loadBefore(LoadParams, LoadCallback) and loadAfter(LoadParams, LoadCallback) 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

Callback for PageKeyedDataSource loadBefore(LoadParams, LoadCallback) and loadAfter(LoadParams, LoadCallback) to return data.

Public methods

abstract Unit
onResult(@NonNull data: MutableList<Value>, @Nullable adjacentPageKey: Key?)

Called to pass loaded data from a DataSource.

Public constructors

<init>

LoadCallback()

Callback for PageKeyedDataSource loadBefore(LoadParams, LoadCallback) and loadAfter(LoadParams, LoadCallback) 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).

Public methods

onResult

abstract fun onResult(@NonNull data: MutableList<Value>, @Nullable adjacentPageKey: Key?): Unit

Called to pass loaded data from a DataSource.

Call this method from your PageKeyedDataSource's loadBefore(LoadParams, LoadCallback) and loadAfter(LoadParams, LoadCallback) 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), pass the key for the previous page, or null if the loaded page is the first. If in loadAfter(LoadParams, LoadCallback), pass the key for the next page, or null if the loaded page is the last.

Parameters
data MutableList<Value>: List of items loaded from the PageKeyedDataSource.
adjacentPageKey MutableList<Value>: Key for subsequent page load (previous page in loadBefore / next page in loadAfter), or null if there are no more pages to load in the current load direction.