2012-06-25 80 views
1

失敗,我正在開發它的SDK與TabHost的Android應用程序7.屏幕方向更改處理程序TabActivity

我的問題是屏幕的方向變化的處理程序無法完成這項工作。 這是場景:

  • 在縱向切換到橫向時,屏幕更新良好,反之亦然。
  • 屏幕失敗每當黑色圖像(屏幕保護)爲ON或I 按下鎖定按鈕進行更新。

我所說的「失敗」是什麼更新屏幕是:

  • 當在橫向模式下,我按下鎖定按鈕。之後,我在肖像模式下解鎖 ,肖像屏幕完美更新。但是, 一旦我旋轉到橫向模式,屏幕無法在 橫向模式下更新。在再次旋轉到肖像後再次旋轉到 風景後,風景模式將再次完美更新 。在肖像模式下,我按下鎖定按鈕,沒有任何 發生上述失敗情況。

這是我用的方法:我申請

  • :在每一個sceen android:configChanges="keyboardHidden|orientation"(包括TabActivity和它的每一個孩子)
  • 我申請:在每一個孩子的屏幕
  • 我沒有使用任何景觀資源(layout-res和drawable-land)。因此,我只爲屏幕使用一個xml佈局(橫向和縱向)

任何建議或解決方法我的問題?我會欣賞並嘗試每一個建議。謝謝:D

+0

乾草瑪麗亞做ü有這方面的任何解決方案? –

+0

沒有..很遺憾,還沒有 –

回答

0

您的解決方案應該是正確處理配置更改。使用configChanges只是針對非常邊緣情況下的優化,但在保存活動狀態並且銷燬活動以緩解內存壓力時仍需要做好準備。

在你的活動:

@Override 
public void onSaveInstanceState(Bundle outState) { 
    // Put any temporary state for this Activity instance 
    // into the outState bundle 
} 

然後在的onCreate():

@Override 
public void onCreate(Bundle savedInstanceState) { 
    if (savedInstanceState != null) { 
     // Retrieve and reassign any state that you saved 
    } 
} 

另見Handling Runtime Changes