{% setvar book_path %}/reference/kotlin/androidx/_book.yaml{% endsetvar %} {% include "_shared/_reference-head-tags.html" %}
class Pager<Key : Any, Value : Any>
Primary entry point into Paging; constructor for a reactive stream of PagingData
.
Each PagingData
represents a snapshot of the backing paginated data. Updates to the backing dataset should be represented by a new instance of PagingData
.
PagingSource.invalidate
and calls to AsyncPagingDataDiffer.refresh
or PagingDataAdapter.refresh
will notify Pager
that the backing dataset has been updated and a new PagingData
/ PagingSource
pair will be generated to represent an updated snapshot.
PagingData
can be transformed to alter data as it loads, and presented in a RecyclerView
via AsyncPagingDataDiffer
or PagingDataAdapter
.
LiveData support is available as an extension property provided by the androidx.paging:paging-runtime
artifact.
RxJava support is available as extension properties provided by the androidx.paging:paging-rxjava2
artifact.
Public properties |
|
---|---|
Flow<PagingData<Value>> |
A cold |
Public constructors |
|
---|---|
<Key : Any, Value : Any> Pager( |
|
<Key : Any, Value : Any> Pager( |
val flow: Flow<PagingData<Value>>
A cold Flow
of PagingData
, which emits new instances of PagingData
once they become invalidated by PagingSource.invalidate
or calls to AsyncPagingDataDiffer.refresh
or PagingDataAdapter.refresh
.
@OptIn(markerClass = [ExperimentalPagingApi])
<Key : Any, Value : Any> Pager(
config: PagingConfig,
initialKey: Key? = null,
pagingSourceFactory: () -> PagingSource<Key, Value>
)
@ExperimentalPagingApi
<Key : Any, Value : Any> Pager(
config: PagingConfig,
initialKey: Key? = null,
remoteMediator: RemoteMediator<Key, Value>?,
pagingSourceFactory: () -> PagingSource<Key, Value>
)