同じ問題に関して多くの質問がありますが、私は問題を見つけることができません。私は自分のHttpRequestクラスにURLを印刷しているとき、正しいURLを表示していますが、同じデータを読み込んでいます。ここでRecyclerViewエンドレススクロール
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();
}
新しいクラスを作成しますか? loadMoreItems()の実装は正しいですか? – user6556461
これはあなた次第です。私はあなたのAPIがどのように動作しているのか分かりません –
10の項目ごとにページ番号を付け、startIndexを10ずつ増やすURLのstartIndexが必要です。追加は常に前のURLからです – user6556461