Sobes.tech
Middle+

Jakie metody powinna nadpisywać klasa dziedzicząca po PagingSource w bibliotece Paging 2?

sobes.tech AI

Odpowiedź od AI

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

    /**
     * Żądanie danych dla strony.
     * loadParams zawiera klucz strony i liczbę elementów do załadowania.
     * Zwraca LoadResult: Page (sukces) lub Error (błąd).
     */
    abstract fun load(params: LoadParams<Key>): LoadResult<Key, Value>

    /**
     * Uzyskuje klucz dla następnej strony przy unieważnieniu PagingSource.
     * anchorPosition - pozycja elementu widocznego dla użytkownika.
     * Zwraca klucz do załadowania następnej strony lub null, jeśli nie jest to konieczne.
     */
    abstract fun getRefreshKey(state: PagingState<Key, Value>): Key?
}