滚动到网页视图的顶部 (Android)

scrolling to the top of a webview (Android)

我有一个 webview 在用户单击某个对象后加载大文本。 我喜欢从顶部显示的文本。但是,如果用户在上一个文本中向下滚动,则下一个文本已经滚动并且不会从顶部显示。

我在网络视图的 onPageFinished 事件中使用 webView.scrollTo(0,0);

这在我的模拟器上运行良好,但在我的 phone 上文本在中间滚动。

使用 Thread.sleep 添加暂停时,它也适用于我的 phone。 我在这里做错了什么?

我的代码:

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 。