@Override public boolean hasPrevious() { for (int i = currentPageIndex - 1; i >= 0; i--) { WizardPage<T> page = wizardPages.get(i); if (!page.canSkip()) { return true; } } return false; }
@Override public boolean hasNext() { for (int i = currentPageIndex + 1; i < wizardPages.size(); i++) { WizardPage<T> page = wizardPages.get(i); if (!page.canSkip()) { return true; } } return false; }
@Nullable @Override public WizardPage<T> navigateToPrevious() { while (--currentPageIndex >= 0) { final WizardPage<T> page = wizardPages.get(currentPageIndex); if (!page.canSkip()) { return page; } } return null; }
/** Returns next page that may be shown. */ @Nullable private WizardPage<T> getNextPage() { while (++currentPageIndex < wizardPages.size()) { WizardPage<T> page = wizardPages.get(currentPageIndex); if (!page.canSkip()) { return page; } } return null; }