Прокрутите, чтобы загрузить больше для RecyclerView

У меня есть данные JSON, который состоит из 100 строк. Как я могу показать первые 10 строк при запуске приложения и впоследствии дополнительные 10 строк, когда пользователи прокручивают страницу вниз?

Все решения, которые я нашел, больше направлены на обратный вызов на сервер с последним идентификатором.

То, что я хотел бы иметь, это продолжать добавлять представление из данных JSON (100 строк), которые загружаются ранее при запуске приложения.

Кто-нибудь знает, как я должен идти по этому поводу?

0

Решение

То, что я хотел бы иметь, это продолжать добавлять представление из данных JSON (100 строк), которые загружаются ранее при запуске приложения.

Если я не понимаю ваш вопрос. RecyclerView должен обрабатывать загрузку данных самостоятельно.

Если ваши данные уже загружены с сервера и сохранены на телефоне, то RecyclerView будет обрабатывать загрузку строк, где он будет хранить только те строки, которые отображаются на экране, в памяти, а когда пользователь прокручивает (вверх или вниз) и достигает новых строк, он загружает их и показывает их на экране и удаляет строки, которые больше не показывается. Так что просто отправьте все свои данные (100 строк) на ваш recyclerAdapterи он будет обрабатывать управление памятью и загрузку строк автоматически.

2

Другие решения

То, что @ A.R.H ответил правильно. Более того, в случае, если вам нужно добавить больше элементов в адаптер RecyclerView, т.е. предположим, что у вас есть 100 элементов в адаптере, и теперь вам нужно получить еще 10 элементов, тогда вы можете использовать «pull to refresh» для этого. Доступны различные библиотеки. Однако тот, который я нашел довольно просто: Феникс .

И вы можете получить данные из сети внутри onRefreshListener() :

mPullToRefreshView = (PullToRefreshView) findViewById(R.id.pull_to_refresh);
mPullToRefreshView.setOnRefreshListener(new PullToRefreshView.OnRefreshListener() {
@Override
public void onRefresh() {
mPullToRefreshView.postDelayed(new Runnable() {
@Override
public void run() {
mPullToRefreshView.setRefreshing(false);
}
}, REFRESH_DELAY);
}
});

А внутри метода run вы можете вызвать метод для извлечения данных.

Кроме этого, нет необходимости беспокоиться о выделении функции; Как вы спросили:

У меня есть данные JSON, который состоит из 100 строк. Как я могу показать первые 10 строк при запуске приложения и впоследствии дополнительные 10 строк, когда пользователи прокручивают страницу вниз?

В отличие от ListView, RecyclerView загружает только те элементы в память, которая помещается на экран. Таким образом, нет особой необходимости для прокрутки к функции. Однако, если для удобства пользователя вы можете добиться того же, используя Phoenix библиотека. Надеюсь, поможет!

1