恢复历史记录和恢复webview的当前页面

时间:2011-01-03 00:57:37

标签: android android-activity webview history bundle

我有一个我正在浏览的webview。我已经实施了回去继续前进。我的问题是,当我在访问另一个活动后返回webview时,历史记录丢失,即webview从第一个URL开始。

我如何对其进行编码,以便在我调用webview上的完成后在返回到webview时交换到另一个活动时,WebBackForwardList将被恢复并且我将被带到我离开webview时所在的页面?

我尝试使用webview.save/restoreState(bundle)覆盖onSaveInstanceState和onRestoreInstanceState,但没有成功。

我已通过保存偏好设置中的最后一个网址返回到最后一页,但无法恢复整个历史记录。

1 个答案:

答案 0 :(得分:2)

您是否正在重复使用网页浏览?

restore()的javadoc说:

  

应调用此方法   恢复WebView的状态   在使用对象之前。如果是   在WebView之后调用了一个   机会建立状态(加载页面,   创建后退/前进列表等)   可能存在不良副作用。

所以重新生成webview对象可能会有所帮助。

其他研究途径:

  • WebView.restore()调用list.addHistoryItem(item)而不清除列表,所以如果你有一个获得重用的webView ,调用webView.clearHistory可能会有所帮助( )在恢复之前()。

  • SO answer表示您可以将一条消息发送到历史记录列表以添加项目。

祝你好运,请回复你的进展。

- 拉里