我有4个标签的tabhost。如果我(例如)打开标签#3,启动一个简单的警告对话框,然后旋转手机几次,它会失去对之前打开的标签的关注,所以当我按回时,标签#1显示而不是标签#3。
我会非常感谢解决方案或解决此问题的任何提示。
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
saveState();
}
protected void onPause() {
super.onPause();
saveState();
}
protected void onResume() {
super.onResume();
getTabHost().setCurrentTab(currentTab);
}
private void saveState(){
currentTab=getTabHost().getCurrentTab();
}
答案 0 :(得分:4)
您是否尝试过保存TabHost状态?如果不是 - 请查看this discussion中的Reto Meier答案。
您可以使用onSaveInstanceState中的getCurrentTab保存TabHost的当前位置,并使用setCurrentTab将其恢复为onRestoreInstanceState。