我有一个我正在浏览的webview。我已经实施了回去继续前进。我的问题是,当我在访问另一个活动后返回webview时,历史记录丢失,即webview从第一个URL开始。
我如何对其进行编码,以便在我调用webview上的完成后在返回到webview时交换到另一个活动时,WebBackForwardList将被恢复并且我将被带到我离开webview时所在的页面?
我尝试使用webview.save/restoreState(bundle)覆盖onSaveInstanceState和onRestoreInstanceState,但没有成功。
我已通过保存偏好设置中的最后一个网址返回到最后一页,但无法恢复整个历史记录。
答案 0 :(得分:2)
您是否正在重复使用网页浏览?
restore()的javadoc说:
应调用此方法 恢复WebView的状态 在使用对象之前。如果是 在WebView之后调用了一个 机会建立状态(加载页面, 创建后退/前进列表等) 可能存在不良副作用。
所以重新生成webview对象可能会有所帮助。
其他研究途径:
WebView.restore()调用list.addHistoryItem(item)而不清除列表,所以如果你有一个获得重用的webView ,调用webView.clearHistory可能会有所帮助( )在恢复之前()。
此SO answer表示您可以将一条消息发送到历史记录列表以添加项目。
- 拉里