【发布时间】:2021-10-14 16:07:56
【问题描述】:
我有一个向用户显示项目列表的活动,它使用分页库。我的问题是,当用户向下滑动屏幕以便再次从服务器获取数据时,我无法重新加载列表。
这是我的数据源工厂:
public class CouponListDataSourceFactory extends DataSource.Factory {
private CouponListDataSource dataSource;
public CouponListDataSourceFactory(CouponRepository repository, String token, String vendorId) {
dataSource = new CouponListDataSource(repository, token, vendorId);
}
@Override
public DataSource create() {
return dataSource;
}
}
这就是我创建 PagedList 的方法
PagedList.Config config = new PagedList.Config.Builder()
.setInitialLoadSizeHint(15)
.setPageSize(10)
.build();
LiveData<PagedList<Coupon>> couponsLiveData = new LivePagedListBuilder<>(dataSourceFactory, config).build();
【问题讨论】:
-
简单地使你的自定义
DataSource失效,你有什么DataSource? -
@pskink 我使用 PositionalDataSource。我在我的数据源上调用了 invalidate 方法,但它什么也没做。无效后我还应该做什么?
-
你使用
PagedListAdapter?你的代码是什么?PagedList#isDetached()返回什么? -
是的,我使用 LivePagedListBuilder 创建它,并将它从我的视图模型返回到我的活动。
-
你传递给
LivePagedListBuilder构造函数的DataSource.Factory的代码是什么?你会发布任何个来源吗?
标签: android android-architecture-components