{% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %} {% include "_shared/_reference-head-tags.html" %}
public abstract class PageKeyedDataSource.LoadCallback<Key extends Object, Value extends Object>
Callback for loadBefore
and loadAfter
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 | |
---|---|
<Key extends Object> |
Type of data used to query pages. |
<Value extends Object> |
Type of items being loaded. |
Public constructors |
|
---|---|
<Key extends Object, Value extends Object> LoadCallback() |
Public methods |
|
---|---|
abstract void |
Called to pass loaded data from a |
@NonNull
public abstract void onResult(@NonNull List<@NonNull Value> data, @Nullable Key adjacentPageKey)
Called to pass loaded data from a DataSource
.
Call this method from your PageKeyedDataSource's loadBefore
and loadAfter
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
, pass the key for the previous page, or null
if the loaded page is the first. If in loadAfter
, pass the key for the next page, or null
if the loaded page is the last.