onConfigurationChanged屏幕在设备上停止旋转。适用于模拟器

时间:2011-11-08 03:10:27

标签: android android-layout android-emulator

我想在每次方向改变时停止刷新我的活动。我通过实施来实现这一目标。

  

@Override public void onConfigurationChanged(Configuration newConfig)   {       super.onConfigurationChanged(NEWCONFIG);

// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
    Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
    Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
} }

然而,当我删除I​​F代码以显示Toast时,它会停止工作。屏幕开始在设备上刷新。这在模拟器上工作正常。

有没有人遇到过这种问题?

2 个答案:

答案 0 :(得分:1)

我终于通过

解决了这个问题
  

protected void onSaveInstanceState(Bundle outState){

     

webView.saveState(outState);

     

}

http://roman-dotnet.blogspot.com/2011/05/android-webview-orientation-changes.html

答案 1 :(得分:0)

确保您没有调用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);任何地方。这将导致onConfigurationChange()无法触发。

将soome日志语句放入以检查以确保它正在触发(并在onCreate中放入一些日志语句以检查以确保在配置更改期间它是否被触发。

See this Question.