Skip to content

Most visited

Recently visited



public static abstract class ItemKeyedDataSource.LoadInitialCallback
extends LoadCallback<Value>

   ↳ android.arch.paging.ItemKeyedDataSource.LoadCallback<Value>
     ↳ android.arch.paging.ItemKeyedDataSource.LoadInitialCallback<Value>

Callback for loadInitial(LoadInitialParams, LoadInitialCallback) to return data and, optionally, position/count information.

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

If you can compute the number of items in the data set before and after the loaded range, call the three parameter onResult(List, int, int) to pass that information. You can skip passing this information by calling the single parameter onResult(List), either if it's difficult to compute, or if placeholdersEnabled is false, so the positioning information will be ignored.

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 constructors


Public methods

abstract void onResult(List<Value> data, int position, int totalCount)

Called to pass initial load state from a DataSource.

Inherited methods

From class android.arch.paging.ItemKeyedDataSource.LoadCallback
From class java.lang.Object

Public constructors


ItemKeyedDataSource.LoadInitialCallback ()

Public methods


void onResult (List<Value> data, 
                int position, 
                int totalCount)

Called to pass initial load state from a DataSource.

Call this method from your DataSource's loadInitial function to return data, and inform how many placeholders should be shown before and after. If counting is cheap to compute (for example, if a network load returns the information regardless), it's recommended to pass data back through this method.

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.

data List: List of items loaded from the DataSource. If this is empty, the DataSource is treated as empty, and no further loads will occur.

position int: Position of the item at the front of the list. If there are N items before the items in data that can be loaded from this DataSource, pass N.

totalCount int: Total number of items that may be returned from this DataSource. Includes the number in the initial data parameter as well as any items that can be loaded in front or behind of data.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields


Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)