В библиотеке подкачки Android, как сделать недействительным подмножество набора данных в PagedList или DataSource? Я пишу PagedList или DataSource, потому что не знаю, по какому из них мне позвонить.
Например, я делаю приложение контроля качества под названием BufferOverflow.
У меня есть PageKeyedDataSource
, который загружает данные по сети. Он поддерживает разбиение на страницы по индексу в API. В этом приложении у меня есть экран "Популярные вопросы" с "бесконечным" списком самых популярных вопросов. Конечно, главный вопрос периодически обновляется.
Как:
- Обновить набор данных на странице 1?
- Обновить набор данных на странице 10?
Я понимаю, что преимущество использования PagedList заключается в том, что он будет вычислять, какой элемент является новым / старым, с использованием DiffUtil
. Но как мне сказать, что набор данных для определенных key
или position
изменился?
То, о чем я прошу, невозможно? Следует ли мне самостоятельно реализовать настраиваемое поведение подкачки?
Примечание.
- Я не хочу аннулировать все данные.
адаптер.getCurrentList (). getDataSource (). invalidate ();
Это сделает недействительными все данные в источнике данных. Хотя я просто хочу сделать некоторую часть данных недействительной.
- Я думаю, что API, который я ищу, похож на RecyclerView.Adapter's
list.adapter.notifyItemChanged (0);
Но, конечно, это не ответственность адаптера за обновление набора данных. Это либо классы PagedList
, DataSource
, либо дао ..
"I don't want to invalidate all the data."
- вы должны, другого пути нет - подробнее см. this и найдитеUpdating Paged Data
раздел - person pskink   schedule 09.02.2019loadBefore
/loadAfter
? - person aldok   schedule 09.02.2019