EDIT: Я работал над этим проектом много лет назад, и, к сожалению, я не могу проверить, работает ли какой-либо из ответов в данном сценарии.
Мне нелегко работать с одним WebView, который должен показывать наш блог. Когда он инициализирован, он работает отлично. Пользователь может перемещаться по различным ссылкам в WebView. Чтобы вернуться в блог, есть кнопка за пределами WebView, которая должна снова загрузить основной сайт блога.
Проблема заключается в том, что после второго вызова loadUrl ничего не загружается. Вот мой код:
private WebView wv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.blog);
wv = (WebView) findViewById(R.id.blog_webview);
wv.getSettings().setJavaScriptEnabled(true);
wv.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon {
MyLog.logDump("onPageStarted: " + url);
}
@Override
public void onPageFinished(WebView view, String url) {
MyLog.logDump("onPageFinished: " + url);
}
});
wv.loadUrl(Constants.BLOG_URL);
}
Функция, вызываемая моим OnClickListener, следующая:
public void reLoadUrl() {
wv.loadUrl(Constants.BLOG_URL);
}
Но, несмотря на то, что журналы inPageFinished и onPageStarted показывают, что мой wv.loadUrl вызывается и что он загружает правильный URL-адрес, содержимое в веб-обозревателе не изменяется. Я попытался очистить кеш, историю, представление, пробовал разные WebSettings, пытался использовать webView.goBack() - не результат. Также эти идеи не работают: Странная проблема с веб-браузером goBack в android
Иногда reLoadUrl показывает желаемый результат - но как только он терпит неудачу, его больше нельзя заставить работать снова. Любые идеи, что может произойти? Я попытался прочитать код WebView, но я не мог найти ничего, что могло бы мне помочь.
Единственное, что я могу добавить, это то, что мы используем некоторые рекламные сети, которые сильно зависят от webViews - я попытался отключить их, но я не удалял библиотеки, поэтому я не уверен, что они не являются виновник.
Любые идеи?