Android Paging Library loadAfter()未调用

时间:2018-07-11 16:46:13

标签: android android-recyclerview pagination paging android-jetpack

让我简要介绍一下我要做什么。因此,基本上,我是Android Jetpack中的此分页库的新手,并且正在尝试实现分页列表。后端已经按请求进行了分页(后端默认每页返回25个项目),所以我要做的就是发出请求并指定要显示的页面,然后指定项目然后我需要的将被退回。我能够显示var xxx = function() { $('#xxx').jsGrid({ height: '250px', width: '100%', inserting: true, editing: true, sorting: true, invalidNotify: function(args) { $('#alert-error-not-submit').removeClass('hidden'); }, fields: [{ name: "sensorNumber", title: $('#title_meter_number').val(), type: "number", validate: "required" }, { name: "liters", title: $('#title_liters').val(), type: "number", validate: "required" }, { name: "measuredValue", title: $('#title_indication_of_the_meter').val(), type: "number", validate: "required" }, { type: "control" }] }); }; 并使之工作,但是滚动到最低的项目后,它将不会触发loadInitial()

我的loadAfter()PagedListAdapter非常简单,因此我认为在这里发布不会有所帮助。 RecyclerView通过数据绑定返回ViewHolder。 onCreateViewHolder只是在我的Viewholder中调用一个方法并设置项目。我没有重写onBindViewHolder方法。关于我的适配器和getItem()

但是,下面是我的其他代码段。请注意,出于隐私目的,我已经修改了变量和方法名称。

我的LivePagedListBuilder配置

DiffCallback

我在视图中观察LiveData的方式

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;
}

我的数据源: ItemKeyedDataSource

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

0 个答案:

没有答案