Я ищу хороший способ реализовать механизм пейджинга в моих списках RecyclerView
. Я использую AsyncTaskLoader
для заполнения и кэширования данных в RecyclerView
.
public class HeadlinesListLoader extends AsyncTaskLoader<List<Headline>> {
public HeadlinesListLoader(Context context) {
super(context);
}
@Override
protected void onStartLoading() {
forceLoad();
}
@Override
public List<Headline> loadInBackground() {
return DataManager.getInstance().findAllHealines();
}
@Override
public void deliverResult(List<Headline> data) {
super.deliverResult(data);
}
}
Где DataManager.getInstance().findAllHealines(); выполняет вызов RESTful для извлечения данных списка, однако в настоящее время он загружает все данные сразу, что может занять значительное время.
Я искал эффективный способ постепенной загрузки данных в RecyclerView по мере необходимости. Я наткнулся на эту библиотеку подкачки, рекомендованную Android:
https://developer.android.com/topic/libraries/architecture/paging.html
Однако то, как он запрашивает базу данных во внешнем интерфейсе, не похоже на правильное решение в моем случае, и, поскольку я использую AsyncTaskLoader, мне интересно, есть ли способ решить эту проблему, используя сам фреймворк Loaders. ? Или какой вариант будет лучше?
Я открыт для любых предложений. Спасибо.
RecyclerView
и так далее. - person Reaz Murshed   schedule 12.02.2018