PageKeyedDataSource.LoadInitialCallback
public
static
abstract
class
PageKeyedDataSource.LoadInitialCallback
extends Object
java.lang.Object | |
↳ | android.arch.paging.PageKeyedDataSource.LoadInitialCallback<Key, 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 five parameter onResult(List, int, int, Object, Object)
to pass that
information. You can skip passing this information by calling the three parameter
onResult(List, Object, Object)
, 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).
Summary
Public constructors | |
---|---|
PageKeyedDataSource.LoadInitialCallback()
|
Public methods | |
---|---|
abstract
void
|
onResult(List<Value> data, int position, int totalCount, Key previousPageKey, Key nextPageKey)
Called to pass initial load state from a DataSource. |
abstract
void
|
onResult(List<Value> data, Key previousPageKey, Key nextPageKey)
Called to pass loaded data from a DataSource. |
Inherited methods | |
---|---|
Public constructors
PageKeyedDataSource.LoadInitialCallback
PageKeyedDataSource.LoadInitialCallback ()
Public methods
onResult
void onResult (List<Value> data, int position, int totalCount, Key previousPageKey, Key nextPageKey)
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.
Parameters | |
---|---|
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 .
|
previousPageKey |
Key |
nextPageKey |
Key |
onResult
void onResult (List<Value> data, Key previousPageKey, Key nextPageKey)
Called to pass loaded data from a DataSource.
Call this from loadInitial(LoadInitialParams, LoadInitialCallback)
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 |
List : List of items loaded from the PageKeyedDataSource. |
previousPageKey |
Key : Key for page before the initial load result, or null if no
more data can be loaded before. |
nextPageKey |
Key : Key for page after the initial load result, or null if no
more data can be loaded after.
|
Interfaces
Classes
- AsyncPagedListDiffer
- DataSource
- DataSource.Factory
- ItemKeyedDataSource
- ItemKeyedDataSource.LoadCallback
- ItemKeyedDataSource.LoadInitialCallback
- ItemKeyedDataSource.LoadInitialParams
- ItemKeyedDataSource.LoadParams
- LivePagedListBuilder
- PagedList
- PagedList.BoundaryCallback
- PagedList.Builder
- PagedList.Callback
- PagedList.Config
- PagedList.Config.Builder
- PagedListAdapter
- PageKeyedDataSource
- PageKeyedDataSource.LoadCallback
- PageKeyedDataSource.LoadInitialCallback
- PageKeyedDataSource.LoadInitialParams
- PageKeyedDataSource.LoadParams
- PositionalDataSource
- PositionalDataSource.LoadInitialCallback
- PositionalDataSource.LoadInitialParams
- PositionalDataSource.LoadRangeCallback
- PositionalDataSource.LoadRangeParams
- RxPagedListBuilder