Вот метод обновления PageList:
public void refresh() {
RecyclerView recyclerView = findViewById(R.id.list);
ItemViewModel itemViewModel = ViewModelProviders.of(MainActivity.this)
.get(ItemViewModel.class);
final ItemAdapter adapter = new ItemAdapter(MainActivity.this);
itemViewModel.itemPagedList.observe(MainActivity.this,
new Observer<PagedList<Item>>() {
@Override
public void onChanged(@Nullable PagedList<Item> items) {
adapter.submitList(items);
}
});
recyclerView.setAdapter(adapter);
}
Но он не предоставляет новую версию данных, поэтому мне нужно использовать от invalidate()
до ItemDataSource
. Как я могу это сделать?
Вот ItemDataSource
:
public class ItemDataSource extends PageKeyedDataSource<Integer, Item> {
@Override
public void loadInitial(@NonNull LoadInitialParams<Integer> params, @NonNull final LoadInitialCallback<Integer, Item> callback) {
loadData(Util.getMinAge, Util.getMaxAge);
}
// and so on in loadBefore and loadAfter methods
}