2012-06-25 47 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