Android WebView + loadUrl с javascript + onPageFinished = задержкаAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Android WebView + loadUrl с javascript + onPageFinished = задержка

Сообщение Anonymous »

У меня есть WebView, который загружает какую-то страницу, и когда она заканчивается, я применяю магию JavaScript, чтобы испортить DOM. Все в порядке, страница загружается и onPageFinished Я просто вызываю wv.loadUrl(javascript);

Но я не хочу видеть загрузку процесс и как работает javascript, мне просто нужен результат, поэтому я сделал свое представление невидимым с помощью wv.setVisibility(View.INVISIBLE); с самого начала и снова сделал его видимым, когда все будет сделано. Вот тут-то и возникает проблема.

Этот фрагмент кода должен сделать представление видимым после завершения выполнения JavaScript, но wv.setVisibility(View.VISIBLE) срабатывает до выполнения JavaScript. . Итак, на мгновение я вижу страницу и то, как она изменяется с помощью JavaScript. Это просто некрасиво.

Код: Выделить всё

  public void onPageFinished (WebView view, String url) {
wv.loadUrl(javascript);
view.getSettings().setLoadsImagesAutomatically(true);
wv.setVisibility(View.VISIBLE);

}
Я понял, что loadUrl работает асинхронно, поэтому я попытался создать еще один WebViewClient, просто используя метод «сделать первое представление видимым» внутри onPageFinished, и использовать его для вызова Дж.С. Но он продолжает вылетать из-за ошибки NPE.

Код: Выделить всё

wv2.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished (WebView view, String url) {
wv.setVisibility(View.VISIBLE);
}
});
На данный момент я просто добавил задержку после javascript (

Код: Выделить всё

SystemClock.sleep(5000)
), но это типа... да.

Подробнее здесь: https://stackoverflow.com/questions/582 ... nished-lag
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»