Если вы уже знаете индекс листа, просто позвоните
workbook.setSheetName(sheet-index, "my sheet name");
, где индекс листа - это номер листа (на основе 0)
Я предлагаю использовать 2, поскольку это соответствует цели действий и представлений. Сохранить состояние в этом случае просто - если вы используете шаблон MVC, вы можете просто иметь объект модели, который передается в представления. В каждом представлении есть части модели, которые можно читать / писать. Независимо от того, где вы находитесь, модель всегда должна иметь текущее состояние. Если вас утилизируют, просто сохраните модель. Восстановление работает автоматически, так как вы уже читаете данные из модели при отображении каждой страницы.
Я выбрал первый подход, так как он кажется более естественным. Другое приложение использует ViewFlipper
для переключения представлений, но это совсем не похоже на мастер.
Думаю, 2 лучше. Поместите каждую «страницу» в представление, а затем просто чередуйте их отображение и скрытие. Делает тривиальным выполнение красивых переходов. Какое состояние вы думаете поддерживать? Единственное, что не работает автоматически, - это фокус, и я думаю, вы, вероятно, захотите сбрасывать его каждый раз, когда переключаете страницы. Также легко уловить, если вы считаете, что это правильное поведение для вашего приложения.
С 1 вы можете повторно использовать почти весь свой код (просто определите свой собственный класс WizardBase), но я думаю, что действия запускаются намного медленнее ( и требуют больше памяти), чем переключение между представлениями.