在用户单击对象后,我有一个Webview加载大文本。 我喜欢从顶部开始显示的文字。但是,如果用户在上一个文本中向下滚动,则下一个文本已经滚动,因此不会从顶部开始显示。
我在网络视图的webView.scrollTo(0,0);
事件中使用onPageFinished
。
这在我的模拟器中可以正常工作,但是在我的手机上,文本在中间滚动。
在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);
}
});
答案 0 :(得分:0)
尝试使用此代码块-
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。