прокрутка к вершине веб-просмотра (Android) - PullRequest
0 голосов
/ 24 мая 2019

У меня есть веб-просмотр, загружающий большие тексты после того, как пользователь нажал на объект. Мне нравится текст, который будет отображаться сверху. Но если пользователь прокручивал вниз в предыдущем тексте, следующий уже прокручивается и не отображается сверху.

Я использую 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 голосов
/ 24 мая 2019

Попробуйте с этим блоком кода -

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);
    }
});

На самом деле, вы так близки к решению.Суть в том, что вам нужно установить scrollTo в возвращенном представлении метода onPageFinished.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...