我想在每次方向改变时停止刷新我的活动。我通过实施来实现这一目标。
@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(); } }
然而,当我删除IF代码以显示Toast时,它会停止工作。屏幕开始在设备上刷新。这在模拟器上工作正常。
有没有人遇到过这种问题?
答案 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中放入一些日志语句以检查以确保在配置更改期间它是否被触发。