Библиотека подкачки Android loadAfter () не вызывается

Позвольте мне дать краткий обзор того, что я пытаюсь сделать. В общем, я новичок в этой библиотеке подкачки в Android Jetpack и пытаюсь реализовать выгружаемый список. Серверная часть уже выполнила часть разбиения на страницы по запросу (Бэкенд возвращает 25 элементов на страницу по умолчанию), поэтому все, что мне нужно сделать, это сделать запрос и указать страницу, которую я хочу отобразить, а затем элементы Мне нужно будет потом вернуться. Я смог отобразить и заставить работать loadInitial(), но после того, как я прокрутил до самого нижнего элемента, он не сработал loadAfter().

Мои PagedListAdapter и RecyclerView очень прямолинейны, поэтому я не думаю, что размещение их здесь поможет. onCreateViewHolder возвращает ViewHolder путем привязки данных. onBindViewHolder просто вызывает метод внутри моего вьюхолдера и устанавливает элементы. Я не переопределяю метод getItem(). Вот и все для моего адаптера и DiffCallback.

Однако ниже приведены мои другие фрагменты кода. Обратите внимание, что я изменил имена переменных и методов для обеспечения конфиденциальности.

Моя конфигурация для LivePagedListBuilder:

public MyViewModel() {
    PagedList.Config config =
        new PagedList.Config.Builder()
            .setPageSize(1)
            .setPrefetchDistance(1)
            .build();

    items = new LivePagedListBuilder<>(myDataSourceFactory, config).build();
}

public LiveData<PagedList<Item>> getItems() {
    return items;
}

Как я наблюдаю LiveData в своем представлении:

viewModel.getItems().observe(this, items -> {
  adapter.submitList(items);
});

Мой источник данных: ItemKeyedDataSource

private int defaultPage = 1;

public void loadInitial(@NonNull LoadInitialParams<Integer> params, @NonNull 
 LoadInitialCallback<Item> callback) {

    remoteRepository.getItems(String.valueOf(defaultPage))
    ...
}

public void loadAfter(@NonNull LoadParams<Integer> params, @NonNull LoadCallback<Item> callback) {

    remoteRepository.getItems(String.valueOf(params.key))
    ...
}

public Integer getKey(@NonNull Item item) {
    return defaultPage++;
}

person Harrison Tiu    schedule 11.07.2018    source источник