Я видел еще один 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();
}