android - 如何在android的WebView中获取、保存和重用滚动位置
问题描述
我正在制作一个电子书阅读器应用程序。我正在使用 WebView 来显示来自 JSON 的 HTML 格式数据。
如果用户正在阅读一本书并在两者之间退出应用程序,我想获取文本的位置,以便下次用户继续阅读这本书时,它会从他上次离开的位置打开。我查了很多问题,但没有得到任何相关的答案。
解决方案
您可以执行此覆盖 Activity onSaveInstanceState() 并在其中调用 webView.saveState()
@Override
protected void onSaveInstanceState(Bundle outState) {
webView.saveState(outState);
super.onSaveInstanceState(outState);
}
然后打电话
WebView webview = (WebView)findViewById(R.id.webview);
if (savedInstanceState != null){
webview.restoreState(savedInstanceState);
}
else {
webview.loadUrl(url)
}
在 Activity onCreate() 方法中
推荐阅读
- php - PHP 是否对 php.ini 文件进行任何解析?
- java - Centos7 上的 JVM 崩溃
- azure - Azure.Security.KeyVault.Secrets 与 Microsoft.Azure.KeyVault
- python - 如何从python生成json响应?
- python - 使用 Python 获取 AWS EC2 中根卷的卷 ID
- c# - c# ApiController 挂钩请求
- javascript - 访问表格单元格对象而不是 img
- vue.js - 如何将 vue 组件插入 contenteditable div
- python - boost::python:如何覆盖静态属性?
- sql - 如何使用魔术 SQL 运算符在 Databricks 中插入表