gpt4 book ai didi

android - pagedList 一次加载所有项目

转载 作者:搜寻专家 更新时间:2023-11-01 09:26:45 27 4
gpt4 key购买 nike

我正在尝试将架构组件集成到我的应用程序中,即分页、LiveData、ViewModel。Room 之前已经集成和测试过,所以我可以返回 DataSource.Factory<Integer, DbEntity>来 self 的 DAO 类。这是我创建 PagedList 的 LiveData 的代码:

 PagedList.Config pagedListConfig =
(new PagedList.Config.Builder()).setEnablePlaceholders(true)
.setPrefetchDistance(5)
.setPageSize(10)
.setInitialLoadSizeHint(10)
.build();

LiveData<PagedList<DbEntity>> dbEntities = new
LivePagedListBuilder<>(DAO.getItemList(timeNow), pagedListConfig).build();

我正在我的 fragment 类中观察这个实时数据:

viewModel.dbEntities.observe(this, new Observer<PagedList<DbEntity>>() {
@Override
public void onChanged(@Nullable PagedList<DbEntity> inboxEntities) {
adapter.submitList(inboxEntities);
}
});

问题是列表绘制时间太长,列表 (1300) 中的所有项目似乎都是在第一次绘制时绘制的。

我在两个地方验证了这一点:onChanged使用等于 1300 和 onBindViewHolder 的 PagedList 大小调用适配器的所有位置都被调用到 1300。

我是不是做错了什么?

最佳答案

开始工作了。禁用占位符后返回正确的元素数

关于android - pagedList 一次加载所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50063255/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com