如何在旋转屏幕时防止当前标签视图丢失?

时间:2011-02-11 10:15:24

标签: android

我有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();
    }

1 个答案:

答案 0 :(得分:4)

您是否尝试过保存TabHost状态?如果不是 - 请查看this discussion中的Reto Meier答案。

您可以使用onSaveInstanceState中的getCurrentTab保存TabHost的当前位置,并使用setCurrentTab将其恢复为onRestoreInstanceState。