0
嗯,我不那麼具體和明確的稱號(試圖太難爲它)道歉,所以我有這個功能控制自動功能手動
public void fetchData(){
dataQuery.setPageSize(10); // fetch 10 items per request
final boolean[] firstResponse = {true};
final CountDownLatch latch = new CountDownLatch(1);
// a callback of fetching data from server
Backendless.Data.of(Note.class).find(dataQuery, new AsyncCallback<BackendlessCollection<Note>>() {
@Override
public void handleResponse(BackendlessCollection<Note> notes) { // here we have the response of request
/// loop for requesting for items until all of them is fetched//////
if(firstResponse[0])
{
firstResponse[0] =false;
}
int size = notes.getCurrentPage().size();
if(size > 0)
notes.nextPage(this);
else
latch.countDown();
//////////////////////////////////
/// do whatever I want with the fetched data
}
@Override
public void handleFault(BackendlessFault fault) {// here we have the error of request
swipeToReload.setRefreshing(false);
Toast.makeText(getContext(), "" + fault.getMessage(), Toast.LENGTH_LONG).show();
}
});
}
所以現在上面的功能是在獲取10 items
每個請求循環和這個循環運行,直到所有的數據檢索,我想要的是讓這個循環手動運行(在按鈕點擊我想加載前10項,然後而不是再次請求我希望它手動工作,獲取下一個按鈕上的10個項目)如果有人能指導我正確的方向,那麼它會對我很有幫助
非常感謝您的回覆,請您解釋一下'dataQuery.setOffset(offset)'? –
從服務器加載的所有對象都按順序組織。第一個對象具有偏移量0,第二個具有偏移量1,依此類推。當您使用dataQuery.setOffset設置偏移量時,您指示服務器從指定的偏移量加載對象的下一個「頁面」。 –