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

时间:2019-05-24 08:24:44

标签: java android webview android-webview

在用户单击对象后,我有一个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);
    }
});

1 个答案:

答案 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。