![](/img/trans.png)
[英]Paging library : How to transform a PagedList to another PagedList with different size?
[英]How to get pagedlist size in android when using paging library with mvvm
拜托,我正在使用 android MVVM 和 retrofit 和分页库,问题是我无法获得pagedlist
的大小。 UI 中的pagedlist = 0
始终。
下面的代码是我获取列表大小的方式。
private void getAllAds() {
userHomeViewModel.getHomeAllAdsPagedList().observe(this, new Observer<PagedList<AllAdsModel>>() {
@Override
public void onChanged(PagedList<AllAdsModel> list) {
allAdsModelPagedList = list;
Toast.makeText(AllAdsActivity.this, ""+list.size(), Toast.LENGTH_SHORT).show();
//list.size = 0!!!!
initUserAllAds();
}
});
}
PagedList
是增量加载的,所以它的size
会随着时间的推移而改变,并且在调用submitList
之前总是为 0(禁用占位符),并且它已经有机会加载一些项目。
相反,您应该考虑利用PagedListAdapter
上的 API。
如果您对当前呈现列表的当前大小感兴趣,可以使用PagedListAdapter.currentList.size
如果您想在出现新的PagedList
时收到通知,可以使用PagedListAdapter.onCurrentListChanged
。 此方法在初始加载和 diffutil 运行后调用,因此它与新的PagedList
出现时同步。
请注意, PagedList.size
包括占位符。 如果你有 placeholdersEnabled,但你只对加载的项目感兴趣,你应该使用PagedList.loadedCount
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.