Почему Recycler загружает только 15 элементов и не более? Я делаю все с помощью страницы руководства на android.com
https://developer.android.com/topic/lib ... paged-data
Что я делаю не так? Пожалуйста, помогите.
Я пишу этот простой код, чтобы понять библиотеку подкачки 3. Мне нужен бесконечный список. В библиотеке 2 я это делаю, но теперь это устарело.
Мой RxPagingSource
public class SaleJournalSource extends RxPagingSource {
@Nullable
@Override
public String getRefreshKey(@NonNull PagingState pagingState) {
return null;
}
@NonNull
@Override
public Single loadSingle(@NonNull LoadParams loadParams) {
Single single = Single.fromCallable(() -> {
List list = new ArrayList();
for (int i = 0; i < 5; i++) {
SaleJournalItem s1 = new SaleJournalItem();
s1.name = "1";
list.add(s1);
}
return list;
});
return single
.delay(1, SECONDS)
.subscribeOn(Schedulers.io())
.map(this::xx);
}
public LoadResult xx(List list) {
return new LoadResult.Page(
list,
null,
String.valueOf(new Date().getTime()),
LoadResult.Page.COUNT_UNDEFINED,
LoadResult.Page.COUNT_UNDEFINED);
}
Моя активность при создании
SaleJournalViewModel viewModel = new ViewModelProvider(this).get(SaleJournalViewModel.class);
viewModel.init();
adapter = new SaleJournalAdapter(new SaleJournalAdapter.dif());
binding.recycler.setLayoutManager(new LinearLayoutManager(this));
binding.recycler.setAdapter(adapter);
viewModel.flowable
.to(autoDisposable(AndroidLifecycleScopeProvider.from(this)))
.subscribe(data -> adapter.submitData(getLifecycle(), data));
Моя модель представления
public class SaleJournalViewModel extends ViewModel {
public Flowable flowable;
public void init() {
CoroutineScope viewModelScope = ViewModelKt.getViewModelScope(this);
SaleJournalSourceFactory saleJournalSourceFactory = new SaleJournalSourceFactory();
Pager pager = new Pager(
new PagingConfig(20, 10),
saleJournalSourceFactory::get);
flowable = PagingRx.getFlowable(pager);
PagingRx.cachedIn(flowable, viewModelScope);
}
}
Подробнее здесь: https://stackoverflow.com/questions/709 ... -more-data