pagedList загружает все элементы одновременно - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь интегрировать компоненты архитектуры в свое приложение, а именно, Pagination, LiveData, ViewModel. Комната уже интегрирована и протестирована, поэтому я могу вернуть DataSource.Factory<Integer, DbEntity> из моего класса DAO. Это мой код для создания LiveData PagedList:

 PagedList.Config pagedListConfig =
            (new PagedList.Config.Builder()).setEnablePlaceholders(true)
                .setPrefetchDistance(5)
                .setPageSize(10)
                .setInitialLoadSizeHint(10)
                .build();

        LiveData<PagedList<DbEntity>> dbEntities = new 
LivePagedListBuilder<>(DAO.getItemList(timeNow), pagedListConfig).build();

И я наблюдаю за этими ливатами в моем классе фрагментов:

viewModel.dbEntities.observe(this, new Observer<PagedList<DbEntity>>() {
            @Override
            public void onChanged(@Nullable PagedList<DbEntity> inboxEntities) {
                adapter.submitList(inboxEntities);
            }
        });

Проблема в том, что создание списка занимает слишком много времени, и кажется, что все элементы в списке (1300) рисуются с первого взгляда.

Я проверял это в двух местах: onChanged вызывается с размером PagedList, равным 1300, и onBindViewHolder адаптера вызывается для всех позиций до 1300.

Я что-то не так делаю?

1 Ответ

0 голосов
/ 27 апреля 2018

Получил это работает. Возвращает правильное количество элементов после отключения заполнителей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...