2

ローカルデータベースからページネーションに1000 レコードをロードしたい。クエリに制限を設定することで最初のレコードをロードできますが、リストのスクロールで連続したレコードがロードされません。

以下のようにデータを取得しDataSourceています。PagedList

  PagedList pagedList = new PagedList.Builder<Integer, ModelClass>()
            .setConfig(new PagedList.Config.Builder()
                    .setPageSize(50)
                    .setPrefetchDistance(50)
                    .setEnablePlaceholders(false)
                    .build())
            .setDataSource(new DataClassKeyed())
            .setMainThreadExecutor(new MainThreadExecutor())
            .setBackgroundThreadExecutor(new BackgroundThreadExecutor())
            .build();

    adapter.setList(pagedList);

情報源

public class DataClassKeyed extends KeyedDataSource {

@Override
public Integer getKey(@NonNull ModelClass modelClass) {

    return modelClass.id;
}

@Override
public List<WorkOrder> loadInitial(int pageSize) {

    //query which sets data in list and
    return list;
}

@Override
public List<ModelClass> loadBefore(@NonNull Integer id, int pageSize) {
    //query which sets data in list
    return list;
}

@Override
public List<ModelClass> loadAfter(@Nullable Integer id, int pageSize) {
    // Return items adjacent to 'id'
    return list;
}

}

4

0 に答える 0