我已經爲我的RecyclerView
創建了endlessScrollListener
。在我的onLoadMore
方法中,每當我處於頁面底部時,我都會進行一次新的api調用。 我需要給我的apiCall
方法一個新的參數,以獲得新的數據。我開始與第1頁和第30頁的api電話聯繫,以便進行項目統計。接下來的API調用應該有2,30,接下來的3,30等等。 我正在考慮做循環。但任何人都可以提出一個更好的方法?RecyclerView的無盡滾動,並使新的API呼叫顯示新的數據
public void makeApiCall(int pageNumber, int pageSize) {
ApiCall.ApiCallRx apiCall = ApiCall.createRx();
Observable<Response<ApiObject>> observable =
apiCall.apiItems(ApiKey.apiKey, pageNumber, pageSize);
observable.observeOn(AndroidSchedulers.mainThread()).
subscribeOn(Schedulers.io()).
observeOn(AndroidSchedulers.mainThread()).
subscribe(new Subscriber<Response<ApiObject>>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
Log.d("MainActivity", "Call Failed"+ e.getMessage());
}
@Override
public void onNext(Response<ApiObject> apiResponse) {
callSuccess(apiResponse);
Log.d("MainActivity", "Call Success");
}
});
}
private void callSuccess(Response<ApiObject> apiResponse) {
apiItems = apiResponse.body().getProducts();
objectAdapter = new ObjectAdapter(apiItems);
recyclerView.setAdapter(objectAdapter);
}
private void setScrollListener(){
recyclerView.addOnScrollListener(new EndlessRecyclerViewScrollListener(linearLayoutManager) {
@Override
public void onLoadMore(int page, int totalItemsCount) {
makeApiCall(2,30);
}
});
}
我使用'RecyclerView'喜歡你。它的工作很好。你有這種問題嗎? –
回收站視圖沒有問題。但滾動監聽器不能按我想要的方式工作。 – MikeB
okey。你想要什麼,我的回收查看觸發器加載更多的方法,當我要到底。每次 ! –