У меня есть данные JSON, который состоит из 100 строк. Как я могу показать первые 10 строк при запуске приложения и впоследствии дополнительные 10 строк, когда пользователи прокручивают страницу вниз?
Все решения, которые я нашел, больше направлены на обратный вызов на сервер с последним идентификатором.
То, что я хотел бы иметь, это продолжать добавлять представление из данных JSON (100 строк), которые загружаются ранее при запуске приложения.
Кто-нибудь знает, как я должен идти по этому поводу?
То, что я хотел бы иметь, это продолжать добавлять представление из данных JSON (100 строк), которые загружаются ранее при запуске приложения.
Если я не понимаю ваш вопрос. RecyclerView
должен обрабатывать загрузку данных самостоятельно.
Если ваши данные уже загружены с сервера и сохранены на телефоне, то RecyclerView
будет обрабатывать загрузку строк, где он будет хранить только те строки, которые отображаются на экране, в памяти, а когда пользователь прокручивает (вверх или вниз) и достигает новых строк, он загружает их и показывает их на экране и удаляет строки, которые больше не показывается. Так что просто отправьте все свои данные (100 строк) на ваш recyclerAdapter
и он будет обрабатывать управление памятью и загрузку строк автоматически.
То, что @ 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
библиотека. Надеюсь, поможет!