2017-02-09 1 views
1

questiton о разбиении на страницы. Мой «StubServer» имеет метод -> readAll(int limit, int offset). Этот метод возвращает подписок. ОК. Вопрос в том, как я могу знать hasNextPage или нет.Как я могу решить, нужна следующая страница или нет для моего спискаИнтемы

Я должен решить, нужна или не следующая страница БЕЗ сведений о размере списка всех элементов.

+0

Что происходит, когда смещение больше, чем записи? Он возвращает null? –

+0

На основе сигнатуры метода недостаточно возвращенных данных из ** ** вызова, чтобы определить, есть ли следующая страница. @ i.net может предлагать снова вызвать метод, но с другим 'offset', чтобы определить, есть ли еще данные. –

ответ

1

Короткий ответ:

Если result список имеет меньше, чем ваш limit тогда вы достигли в конце списка и не должны вызывать метод больше.

int limit = 100; 
int offset = 0; 
do { 
    list = readAll(limit, offset); 
    int resultSize = list.count(); // Assuming some logic to count 

    // do something with list 

    // Check for list size vs requested items 
    if(resultSize < limit) { 
     // Exit loop when number of result retrieved was less than requested items 
     break; 
    } 

    // Else just move on to next batch 
    offset += limit; 

} while (expression);