ItemKeyedDataSource.LoadInitialCallback
public abstract class ItemKeyedDataSource.LoadInitialCallback<Value extends Object> extends ItemKeyedDataSource.LoadCallback
| java.lang.Object | ||
| ↳ | androidx.paging.ItemKeyedDataSource.LoadCallback | |
| ↳ | androidx.paging.ItemKeyedDataSource.LoadInitialCallback |
Callback for loadInitial 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 to pass that information. You can skip passing this information by calling the single parameter onResult, either if it's difficult to compute, or if LoadInitialParams.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).
| Parameters | |
|---|---|
<Value extends Object> |
Type of items being loaded. |
Summary
Public constructors |
|---|
<Value extends Object> This method is deprecated. ItemKeyedDataSource is deprecated and has been replaced by PagingSource |
Public methods |
|
|---|---|
abstract void |
This method is deprecated. ItemKeyedDataSource is deprecated and has been replaced by PagingSource |
Inherited methods |
|---|
Public constructors
LoadInitialCallback
public <Value extends Object>LoadInitialCallback()
| Parameters | |
|---|---|
<Value extends Object> |
Type of items being loaded. |
Public methods
onResult
public abstract voidonResult(@NonNull List<@NonNull 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.
| Parameters | |
|---|---|
@NonNull List<@NonNull Value> data |
List of items loaded from the DataSource. If this is empty, the DataSource is treated as empty, and no further loads will occur. |
int position |
Position of the item at the front of the list. If there are |
int totalCount |
Total number of items that may be returned from this |