java - 滚动到 webview 的顶部 (Android)
问题描述
用户单击对象后,我有一个 webview 加载大文本。我喜欢从顶部显示的文本。但是,如果用户在上一个文本中向下滚动,则下一个已经滚动并且不会从顶部显示。
我webView.scrollTo(0,0);
在onPageFinished
webview 事件中使用。
这在我的模拟器中运行良好,但在我的手机上,文本在中间滚动。
当使用 Thread.sleep 添加暂停时,它也适用于我的手机。我在这里做错了什么?
我的代码:
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
// Pause is needed for my physical phone S7. In Emulator there I have no problem.
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
webView.scrollTo(0,0);
super.onPageFinished(view, url);
}
});
解决方案
试试这个代码块 -
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
// Pause is needed for my physical phone S7. In Emulator there I have no problem.
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
view.scrollTo(0,0);
super.onPageFinished(view, url);
}
});
实际上,您已经非常接近解决方案了。关键是您需要在 onPageFinished 方法的返回视图中设置 scrollTo 。
推荐阅读
- scala - 使用流程中的最新项目完成请求
- c++ - 如何将 unordered_set 与自定义结构一起使用?
- c# - 从移动图库上传服务器上的个人资料照片
- mysql - MySQL Workbench EER/ERD 图 - 图形关系
- python - 谷歌表格“repeatCell”从现有单元格中去除格式
- c# - ASP.NET Core 应用程序中 Alpha 银行的结帐端点
- python - Python 列表理解返回错误的标签
- excel - 比较不同工作表中的两列
- php - 使用每个特征或孩子向班级添加信息
- android - 如何在 Android Studio 中打开项目,出现错误