2011-02-11 76 views
1

我有tabhost 4个选项卡。如果我(例如)打开第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(); 
    } 

回答

4

您是否尝试保存TabHost的状态?如果没有 - 检查Reto Meier在this discussion的答案。

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

+0

非常感谢您的回复。我更新了我所尝试的(不起作用)。 – Dan 2011-02-11 10:54:06