Sobes.tech
Middle+

Quelles méthodes une classe héritée de PagingSource doit-elle redéfinir dans la bibliothèque Paging 2?

sobes.tech IA

Réponse de l'IA

abstract class PagingSource<Key : Any, Value : Any> : PagingSource<Key, Value>() {

    /**
     * Requête de données pour la page.
     * loadParams contient la clé de la page et le nombre d'éléments à charger.
     * Retourne LoadResult : Page (succès) ou Error (erreur).
     */
    abstract fun load(params: LoadParams<Key>): LoadResult<Key, Value>

    /**
     * Obtient la clé pour la page suivante lors de l'invalidation de PagingSource.
     * anchorPosition - position de l'élément visible pour l'utilisateur.
     * Retourne la clé pour charger la page suivante ou null si aucune charge n'est requise.
     */
    abstract fun getRefreshKey(state: PagingState<Key, Value>): Key?
}