Как настроить WebChromeClient для открытия новой страницы в том же представлении?
Я загружаю URL-адрес в WebView, но, когда пользователь нажимает на какую-то кнопку, новый URL-адрес загружается в браузер Android не в моем веб-просмотре. Что мне делать?
Спасибо заранее.
Ответ 1
Вы должны использовать как WebViewClient, так и WebChromeClient.
WebChromeClient позволяет, например, получить ход загрузки, тогда как WebViewClient позволит вам переопределить shouldOverrideUrlLoading().
На странице веб-страницы:
webview.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
// Activities and WebViews measure progress with different scales.
// The progress meter will automatically disappear when we reach 100%
activity.setProgress(progress * 1000);
}
});
webview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();
}
});
Ответ 2
webchromeClient, похоже, не обладает этой способностью. Кажется глупым, что WebViewClient может и WebChromeClient не может.