onPageFinished в WebViewClient, похоже, не работает правильно - PullRequest
3 голосов
/ 06 октября 2010

Я видел еще один SO вопрос по этому вопросу, и он не был решен.

Я использую LoadData () с html, сгенерированным приложением.

Я заметил, когда добавляю несколько пустых строкпосле нового текста страница прокручивается, и тексту требуется время, чтобы волшебным образом появиться (без прокрутки, он просто появляется, как при появлении.).

Просмотр .getContentHeight () не обновляется в onPageFinshed (), но оно обновляется при последующих добавлениях текста на странице.

Я создал событие таймера для просмотра getContentHeight.Даже после того, как я обнаружил, что getContentHeight изменился и выдал browser.pageDown (true), страница все еще работала при прокрутке вниз.

Кажется, что работает нормально при первом входе в действие.Моя проблема возникает только с тем, что я добавляю несколько строк в newInnerHTML.

Кроме того, в представлении есть верхний и нижний колонтитулы с браузером посередине.WebView НЕ находится за нижним колонтитулом.

Это ошибка, или я что-то упустил?

TIA, Jim

этот код находится в onCreate для действия.

        final WebView browser = (WebView) findViewById(R.id.webview);
        browser.setWebViewClient(new WebViewClient() {  
            @Override  
            public void onPageFinished(WebView view, String url) {
                super.onPageFinished(browser, url);
              //  browser.computeScroll();  //didn't help
                Log.d(TAG,"page getContentHeight: " + browser.getContentHeight());
                Log.d(TAG,"page finished");
                browser.pageDown(true);
            }  
        });

Этот метод используется после onCreate для операции

private void UpdateMessageDisplay () {

     //loadData fires onPageFinished but without the new data
     browser.loadData("<html><body>" + newInnerHTML + "</body></html>", "text/html", "utf-8");
     //reload() again fires onPageFinished but this time with new data
     browser.reload();

}

1 Ответ

1 голос
/ 21 октября 2010

Я получил частичный ответ здесь, который действительно вызывает pageDown (true).

Настройка прокрутки загрузки веб-данных не обновляется до нажатия

Есть еще некоторые проблемы.

...