我正在使用LivePagedListBuilder
在LiveData<PagedList<String>>
内构建Repository
并将其发送到ViewModel
。
Repository
依次使用PositionalDataSource
和DataSource
方法从loadInitial()
中实现的loadRange()
获取数据。
现在,如果数据源中的数据发生更改,如何将其从数据源通知给Repository / ViewModel,以便可以发起新的数据请求?
答案 0 :(得分:-1)
PagedList类与PagedListAdapter一起使用,以将项目加载到RecyclerView中。这些类一起工作以在加载内容时获取并显示内容,预取视域外的内容并为内容更改添加动画效果。
另外,使用Room数据库,它可以为您生成一个PositionalDataSources工厂:
@Dao
interface UserDao {
@Query("SELECT * FROM user ORDER BY mAge DESC")
public abstract DataSource.Factory<Integer, User> loadUsersByAgeDesc();
}
它是推荐用于MVVM的体系结构组件。这是简单的方法。