WebViewCe contrôle est un contrôle très important dans le système Android, et il ne provoquera pas la situation mentionnée par l'affiche. Ce que l'affiche originale peut voir, c'est l'affichage en surface.
Lorsque WebView de loadUrl(String url) est appelé, WebView commence à charger la page Web, mais lorsqu'elle n'est pas chargée, elle affichera toujours son fond blanc d'origine. La page Web ne sera affichée qu'après son chargement. . Cela peut signifier que l'écran devient vide et qu'il faut un certain temps avant que la page Web puisse être ouverte. En fait, il se charge toujours, mais il se charge lentement et vous ne voyez aucun changement.
L'hôte peut utiliser WebView.setWebViewClient pour transmettre un WebViewClient personnalisé. Aussi WebView.setWebChromeClient. Remplacez certaines de ces fonctions :
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
//页面开始加载
}
@Override
public void onPageFinished(WebView view, String url) {
//页面加载完毕
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
//加载出现失败
super.onReceivedError(view, errorCode, description, failingUrl);
}
});
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
//加载过程回调,progress是接受到的数据的百分比
}
});
Si l'affiche configure WebView comme ci-dessus, alors dans loadUrl(String url), vous pouvez voir les rappels de ces fonctions. Le contenu de la question peut être répondu à partir de Log.
C'est effectivement le cas, je l'ai également rencontré, et j'ai constaté que si vous n'appelez pas wv_viewerweb.removeAllViews(); // wv_viewerweb.destroy(); // wv_viewerweb = null this; le problème n'existera pas
WebView
Ce contrôle est un contrôle très important dans le systèmeAndroid
, et il ne provoquera pas la situation mentionnée par l'affiche. Ce que l'affiche originale peut voir, c'est l'affichage en surface.Lorsque
WebView
deloadUrl(String url)
est appelé,WebView
commence à charger la page Web, mais lorsqu'elle n'est pas chargée, elle affichera toujours son fond blanc d'origine. La page Web ne sera affichée qu'après son chargement. . Cela peut signifier que l'écran devient vide et qu'il faut un certain temps avant que la page Web puisse être ouverte. En fait, il se charge toujours, mais il se charge lentement et vous ne voyez aucun changement.L'hôte peut utiliser
WebView.setWebViewClient
pour transmettre unWebViewClient
personnalisé. AussiWebView.setWebChromeClient
. Remplacez certaines de ces fonctions :Si l'affiche configure
WebView
comme ci-dessus, alors dansloadUrl(String url)
, vous pouvez voir les rappels de ces fonctions. Le contenu de la question peut être répondu à partir deLog
.1. J'ai vraiment rencontré cette situation hier
2. Analyse des raisons : A. Je suggère à l'affiche d'utiliser Charles pour capturer le paquet
C'est effectivement le cas, je l'ai également rencontré, et j'ai constaté que si vous n'appelez pas wv_viewerweb.removeAllViews();
// wv_viewerweb.destroy();
// wv_viewerweb = null this; le problème n'existera pas
Le problème est-il résolu ? ? ? Je suis aussi tombée dans un piège, s'il vous plaît donnez-moi une solution...