Android方向更改时不应丢失Android Webview内容,但应正确更新GUI

时间:2012-03-19 07:45:19

标签: android webview orientation

我一直在尝试保持WebView的加载页面和javascript值的方向更改并暂停活动。 首先我尝试重写configChanges,但这导致我的GUI没有正确更新(我有一个改变位置变化位置的滑动抽屉)。之后我尝试将WebView放入片段并调用setRetainInstance(true);但这并不能保持WebView的内容不变。我尝试通过不重新创建来保持相同的对象,但是android不允许以这种方式重用视图。

我的问题是:有没有办法保留webview的内容,而不必在每次方向更改时重新加载它,同时让其他GUI组件正确更新。

我希望我的问题很清楚,但我很乐意详细说明是否有任何不清楚。

编辑:我已经尝试在我的清单中添加android:configChanges =“keyboardHidden | orientation”,这就是我所说的“覆盖配置更改”

似乎唯一的解决方案是在方向更改时再次更新所有javascript变量。由于我还没有通过javascript运行大量更新,我无法提供有关此操作的速度和资源的更多信息。

4 个答案:

答案 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"