@Dori +1 за ваш комментарий, это было полезно для меня, так как у нас сейчас 2013 год, и многие люди используют панель действий с навигационными вкладками :)
я есть 2 вкладки, например, Tab1 & Tab2, которая отображается на экране. Пусть вкладки будут отображаться в ориентации ПОРТРЕТ.
Tab1 отображает Activity1 и Tab2 отображает Activity2.
В настоящее время выбранное состояние вкладки - Tab2. Теперь я меняю ориентацию ПОРТРЕТА на ЛАНДШАФТ. При изменении ориентации в режим LANDSCAPE вместо отображения Tab2 отображается текущий Tab1.
По сути, я хочу сохранить состояние вкладки при изменении ориентации.
Чтобы выполнить задачу сохранения состояния вкладки, я пишу следующий код:
protected void onPause() {
super.onPause();
saveCurrentTabState(getSelectedTab());
}
private void saveCurrentTabState(int value) {
PreferenceManager.getDefaultSharedPreferences(this).edit().putInt(
"tabState", value).commit();
}
@Override
protected void onResume() {
super.onResume();
setCurrentTab(PreferenceManager.getDefaultSharedPreferences(this)
.getInt("tabState", 0));
}
Я хотел знать, правильный ли мой подход, и является ли приведенный выше код правильным способом сохранения состояния вкладки при изменении ориентации.