2010-11-02 46 views
1

我擁有TabActivity,並且每個選項卡都對應其自己的活動。在其中的一箇中,在onCreate方法中,我使用startActivityForResult來顯示一個對話框(具體來說,Bump的BumpAPI活動)。如何處理選項卡活動中啓動的活動的屏幕方向更改

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    bump = new Intent(this, BumpAPI.class); 
    bump.putExtra(BumpAPI.EXTRA_API_KEY, API_KEY); 
    startActivityForResult(bump, BUMP_API_REQUEST_CODE); 
} 

的問題是,當屏幕方向的變化,它會嘗試再次創建標籤的活動,這使得另一BumpAPI對話框,導致多個堆疊在彼此的頂部。當方向改變時,我是否在啓動的活動中有一個鉤子來取消上一個活動?

解決方法似乎是添加一個按鈕,單擊該按鈕時將啓動第二個活動,但會添加一個不必要的步驟。

另外,我無法修復整個tabActivity的屏幕方向,因爲它們中的一些需要打字,用戶可能想要使用它們的物理鍵盤。

回答

1

好吧我想通了......非常簡單的解決方案。只需將android:configChanges =「orientation | keyboardHidden」添加到AndroidManifest中的活動即可。這表明不要爲這些類型的配置更改重新啓動活動。只適用於沒有針對不同方向的單獨佈局,但我們幸運的是沒有。

相關問題