デバイスにルーム データベースを作成しました。
// The Int type parameter tells Room to use a PositionalDataSource object.
@Query("SELECT * FROM Word ORDER BY id")
abstract fun getByFactory(): DataSource.Factory<Int, Word>
このファクトリ コールはリポジトリで使用され、そこでboundaryCallback に接続します。
val boundaryCallback = MyBoundaryCallback()
return wordDao.getByFactory().toLiveData(
pageSize = 20,
boundaryCallback = boundaryCallback
)
私の境界コールバックは基本的で、そのように見えます
class MyBoundaryCallback() : PagedList.BoundaryCallback<Word>() {
val int = 0;
@MainThread
override fun onItemAtFrontLoaded(itemAtFront: Word) {
Timber.d("hello")
}
@MainThread
override fun onZeroItemsLoaded() {
Timber.d("hello")
}
@MainThread
override fun onItemAtEndLoaded(itemAtEnd: Word) {
Timber.d("hello")
}
}
問題は、データソース (ルーム データベース) にエントリが含まれていないにもかかわらず、境界コールバックが呼び出されないことです。何が問題なのか手がかりはありますか?