Я знаю, что есть много вопросов по одной и той же проблеме, но я не могу найти свою проблему. Когда я печатаю URL-адрес в моем классе HttpRequest, он показывает правильный URL-адрес, но по-прежнему загружает одни и те же данные.RecyclerView Endless Scroll
recyclerView.addOnScrollListener(new asd(manager ) {
boolean loading = false;
int scrollIndex = 1;
@Override
public void onScrolledToEnd() {
if(!loading){
loading = true;
try {
scrollIndex = scrollIndex+10;
String url = "https // xyz com?q=" + query + "&scrollIndex="+ scrollIndex + "&key=" + getResources().getString(R.string.api_key);
new HttpRequest(url,SearchActivity.this).execute();
adapter.notifyItemRangeChanged(list.size(),10);
adapter.notifyDataSetChanged();
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
loading = false;
}
});
Вот OnScrollListener
public abstract class asd extends RecyclerView.OnScrollListener {
public static String TAG = asd.class.getSimpleName();
// use your LayoutManager instead
private LinearLayoutManager llm;
public asd(LinearLayoutManager sglm) {
this.llm = sglm;
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (!recyclerView.canScrollVertically(1)) {
onScrolledToEnd();
}
}
public abstract void onScrolledToEnd();
}
Как я могу постраничной через API? моя реализация loadMoreItems() верна? – user6556461
Это зависит от вас, я не знаю, как работают ваши api. –
Для этого требуется startIndex в URL-адресе, из которого я разбиваю каждые 10 элементов и увеличиваю startIndex на 10, проблема заключается в вашем коде, значение моего startIndex увеличивается на 10 только один раз и элементы добавлены всегда из предыдущего url – user6556461