Android ItemKeyedDataSource loadAfter при каждом запуске прокручивается - PullRequest
0 голосов
/ 16 марта 2020

Я реализую собственный класс DataSource, который расширяет ItemKeyedDataSource. Все работает нормально, но проблема в том, что когда я начал прокручивать, вызывается метод loadAfter.

class CustomHistoryDataSource(
    private val id: Long,
    private val dataSource: DataSource
) : ItemKeyedDataSource<Int, MessageTuple>() {

override fun loadInitial(params: LoadInitialParams<Int>, callback: LoadInitialCallback<MessageTuple>) {
    val items = dataSource.getHistoryInitial(
            id,
            params.requestedLoadSize)
    callback.onResult(items)
}

override fun loadAfter(params: LoadParams<Int>, callback: LoadCallback<MessageTuple>) {
    val rowId = params.key
    val items = dataSource.getHistoryAfter(
            id,
            params.requestedLoadSize,
            rowId)
    callback.onResult(items)
}

override fun loadBefore(params: LoadParams<Int>, callback: LoadCallback<MessageTuple>) {

}

override fun getKey(item: MessageTuple): Int {
    return item.msgRowId
}
}
...