我一直在尝试保持WebView的加载页面和javascript值的方向更改并暂停活动。 首先我尝试重写configChanges,但这导致我的GUI没有正确更新(我有一个改变位置变化位置的滑动抽屉)。之后我尝试将WebView放入片段并调用setRetainInstance(true);但这并不能保持WebView的内容不变。我尝试通过不重新创建来保持相同的对象,但是android不允许以这种方式重用视图。
我的问题是:有没有办法保留webview的内容,而不必在每次方向更改时重新加载它,同时让其他GUI组件正确更新。
我希望我的问题很清楚,但我很乐意详细说明是否有任何不清楚。
编辑:我已经尝试在我的清单中添加android:configChanges =“keyboardHidden | orientation”,这就是我所说的“覆盖配置更改”
似乎唯一的解决方案是在方向更改时再次更新所有javascript变量。由于我还没有通过javascript运行大量更新,我无法提供有关此操作的速度和资源的更多信息。
答案 0 :(得分:4)
我知道你已经尝试了
android:configChanges="keyboardHidden|orientation"
但请改为尝试
android:configChanges="keyboardHidden|orientation|screenSize"
在Android 3.2及更高版本中,“屏幕尺寸”会在您旋转时发生变化,从而导致webview重新创建。请参阅下面的链接答案以获取更多信息。
我在这里找到了这个答案 https://stackoverflow.com/a/11903546/655822
答案 1 :(得分:0)
在androidmanifest文件中添加此项.....活动
android:name=".YourActivityHere"
android:configChanges="keyboardHidden|orientation"
答案 2 :(得分:0)
试试这个把它放在清单
中android:configChanges="orientation|keyboardHidden"></activity>
这在你的班级
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
答案 3 :(得分:0)
在android Manifest文件中添加以下行。
android:configChanges="keyboardHidden|orientation"