Я реализую собственный класс 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
}
}