В Paging2 PagedList
является либо смежным, либо мозаичным, чтобы обрабатывать случаи, когда пользователь может прокручивать далеко в заполнители, и вместо того, чтобы загружать много страниц рядом, вы хотите иметь возможность «перейти» к этой позиции и возобновить загрузку оттуда.
Итак, чтобы PagedList
был выложен плиткой, он должен как:
- происходить из
DataSource
, который отменяет:
@Override
boolean isContiguous() {
return false;
}
Заполнители должны быть включены через
PagedList.Config.enablePlaceholders
, так как это в основном выбирает поведение плитки (если оно поддерживается).
Ошибка, которую вы видите, в основном является предупреждением о том, что вы пытается поддерживать случай быстрой прокрутки / перехода, но с использованием DataSource
, который поддерживает только загрузку соседних страниц.
Если вы еще не проверили его, я бы рекомендовал попробовать Paging3, так как он прочь от всей этой мозаики и обобщает концепцию прыжков на все типы DataSource
s, обобщая их до одного типа PagingSource
, который явно выбирает и определяет поведение прыжка.
Кроме того, поскольку вы намекнули что вы извлекаете данные из БД для отправки в виде списка stati c - обычным способом сделать это через что-то вроде Room или SqlDelite было бы использовать их встроенную поддержку Paging для непосредственного создания реализации DataSource.Factory.