gpt4 book ai didi

android - 在PageKeyedDataSource中设置DataSource大小,获得占位符效果

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

我正在使用 Android Architecture Component 中的Paging Library。我试图通过服务器加载数据,没有任何本地数据库。

我的 DataSource 类扩展了 PageKeyedDataSource

下面是我的Paging.Config定制,

PagedList.Config pageConfig = (new PagedList.Config.Builder())
.setPageSize(20)
.setInitialLoadSizeHint(30)
.setPrefetchDistance(5)
.setEnablePlaceholders(true)
.build();

我启用了占位符,这让我可以管理 nullPagedListAdapter 类。我做了类似下面的事情,

@Override
public void onBindViewHolder(@NonNull MyEventViewHolder holder, int position) {
Article mArticle = getItem(position);

if (mArticle != null) {
holder.txtTitle.setText(mArticle.getTitle());
holder.txtAuthor.setText(mArticle.getAuthor());
holder.txtDesc.setText(mArticle.getDescription());
} else {
holder.txtTitle.setText("...");
holder.txtAuthor.setText("......");
holder.txtDesc.setText(".........");
}
}

在下一次 API 调用之前,我看不到列表末尾的占位符。

我的问题是,有没有一种方法可以指定列表的大小 在第一次 API 调用之后?因为我的 API 正在返回查询中预期的项目总数。如果不可能,我还能做些什么来查看列表的占位符。

注意:我无法切换到 ItemKeyedDataSourcePositionalDataSource,因为我的 API 设置为基于页面进行响应。

最佳答案

为此我认为你需要在里面做loadInitial

callback.onResult(mArticles, 0, SIZE_OF_TOTAL_ITEMS, null, 2L);

加载前

callback.onResult(mArticles, params.key - 1);

加载后

callback.onResult(mArticles, params.key + 1);

并且在初始加载时必须知道 SIZE_OF_TOTAL_ITEMS。

关于android - 在PageKeyedDataSource中设置DataSource大小,获得占位符效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54004388/

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