2011-02-11 80 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