Я использую библиотеку подкачки в своем приложении вместе с Room и Retrofit для создания страницы API.В настоящее время я использую представление состояния пользовательского интерфейса с использованием классов данных, например, так:
sealed class State : BaseState {
object LoadingInitial : State()
object LoadingNext : State()
data class LoadInitialSuccess(val posts: PagedList<PostEntity>) : State()
data class LoadNextSuccess(val posts: PagedList<PostEntity>) : State()
data class LoadInitialFailure(val throwable: Throwable?) : State()
data class LoadNextFailure(val throwable: Throwable?) : State()
}
Представление подписывается на LiveData в ViewModel, а затем обновляет пользовательский интерфейс в зависимости от выданного состояния.
Я хочу, чтобы пользовательский интерфейс отображал некоторые виды заполнителей, когда состояние LoadingInitial
, я подумал, что я мог бы просто создать PagedList<PostEntity?>()
и передать его в PagedListAdapter
и отобразить нулевые значения в качестве заполнителей, но это невозможнопоскольку PagedLists не могут быть построены напрямую.
Существует ли простой способ создания PagedList<null>()
или отправки нулевых значений в PagedListAdapter
без включения заполнителей в PagedList.Config
?