我正在尝试找到一种使用Paging 3库中的PagingAdapter更新回收者视图中单个项目的方法。我发现PagingAdapter.refresh()方法只有一种方法。但是此方法强制从网络加载所有列表。有人知道如何在不从网络加载所有页面的情况下实现它吗?
答案 0 :(得分:1)
当前,更新后备数据集的唯一方法是使列表无效并重新加载列表。对于正在使用缓存层的分层源(无论是在房间还是在内存等数据库中),这通常是一种便宜的选择,尽管正在进行中以支持更精细的更新(请参见https://issuetracker.google.com/160232968)。
就目前的分层源而言,您需要将网络调用移至RemoteMediator
中,您可以在Pager
的构造函数中进行注册,并将网络抓取内容缓存到任一数据库中像Room(可以为您生成PagingSource
实现),或者自己编写一个内存中的内存。