首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免webview在更改方向时重新呈现网页[Android]

避免webview在更改方向时重新呈现网页[Android]
EN

Stack Overflow用户
提问于 2013-11-14 21:34:02
回答 2查看 1.1K关注 0票数 0

我正在尝试避免webview在方向改变时重新渲染网页。

我的活动具有固定的方向为纵向,但单击一个按钮后,我正在将活动的方向更改为横向和纵向。

当我更改活动的方向时,我的web视图需要时间来呈现/刷新页面。我的网页,网页视图正在渲染的是本地的,仍然需要时间(大约2-4秒)来显示页面的内容,并且我在过渡时间内看到空白的白屏。

我尝试通过调用以下函数来保存web视图的状态:

代码语言:javascript
复制
 // Before switching calling
 Bundle webViewState;
 webViewState = new Bundle();
 Webview.saveState(webViewState);

 // When switching done then calling. 
 Webview.restoreState(webViewState);

但是正如android sdk文档中提到的,我们需要在活动周期的onSaveInstanceStateonRestoreInstanceState中调用这些函数,所以在这种情况下我会崩溃,因为我没有从活动周期调用这些函数。

是否有人有解决此问题的方法/解决方案。

更新:在我的应用程序中,我使用了set orientation,所以我不能使用onSaveInstanceStateonRestoreInstanceState,因为当我们有固定的方向时,这些函数不会被调用。

EN

回答 2

Stack Overflow用户

发布于 2013-11-14 22:03:33

页面会重新呈现,因为您的活动在方向更改时会被销毁并重新创建。在清单中更新您的活动:

代码语言:javascript
复制
<activity android:name="..."
    android:configChanges="orientation|screenSize"  .../>

这将防止系统在方向更改时重新创建您的活动。

票数 1
EN

Stack Overflow用户

发布于 2013-11-14 21:37:57

我认为您应该看看文档的这一部分:Handling the Configuration Change Yourself

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19979050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档