7

新しいページング ライブラリを使用すると、データのページネーションで使用するカスタム データ ソースを指定できます。ページング ライブラリのドキュメントと github のサンプル コードは、次のように DataSource.Factory のサブクラスを作成することによって、カスタム データ ソース インスタンスを作成する方法を示しています。

class ConcertTimeDataSourceFactory(private val concertStartTime: Date) :
    DataSource.Factory<Date, Concert>() {
    val sourceLiveData = MutableLiveData<ConcertTimeDataSource>()
    override fun create(): DataSource<Date, Concert> {
        val source = ConcertTimeDataSource(concertStartTime)
        sourceLiveData.postValue(source)
        return source
    }
}

実際のアプリでは、通常、recyclerviews を含む複数のビューがあり、したがって複数のカスタム データ ソースがあります。では、データ ソースごとに DataSource.Factory の複数の実装を作成することになりますか、それともより一般的な解決策がありますか?

4

3 に答える 3