WebView android affichant une page blanche
J'ai une application android que je suis en train d'élaborer à l'aide de l'émulateur en cours d'exécution sur android 2.3.3 avec un intégré à WebView dans un framelayout imbriquée dans un linearlayout (à la verticale). N'importe quel code que j'utilise, il n'a jamais vraiment fait n'importe quoi. J'ai les Autorisations sur l'android application définie sur INTERNET.
Même en essayant de ne charger que le code HTML. J'obtiens une page vierge, pas d'erreur ni rien d'autre. Rien dans le logcat.
WebView wview = (WebView)findViewById(R.id.webView1);
wview.getSettings().setJavaScriptEnabled(true);
J'ai essayé tous les trois de ces éléments pour tenter de charger quoi que ce soit dans la webview:
wview.loadUrl("http://www.google.com");
wview.loadData("<HTML><BODY><H3>Test</H3></BODY></HTML>","text/html","utf-8");
wview.loadDataWithBaseURL(null, "<HTML><BODY><H3>Test</H3></BODY></HTML>","text/html","utf-8",null);
Tous les trois me donner les mêmes résultats. Rien.
Des idées?
source d'informationauteur Chris White
Vous devez vous connecter pour publier un commentaire.
Il peut être un peu trop tard, mais je voulais partager mon expérience avec vous, parce que j'ai eu le même problème et a passé beaucoup de temps sur elle.
Mettre votre
WebView
dansRelativeLayout
et pas dansFrameLayout
.Ce que j'ai testé: Mon
WebView
'sonPageFinished()
a été appelée à chaque fois, mais sur l'écran, je suis vide de la page. Dechrome://inspect
WebView
débogueur j'ai été en mesure de faire un "ping" monWebView
en appuyant surinspect
bouton, et après queWebView
était rafraîchissant immédiatement. Mes pensées -WebView
n'est pas traduit correctement dansFrameLayout
etRelativeLayout
résout le problème (mêmeinvalidate()
etrequestLayout()
appels n'a pas aidé).Je pense que si vous modifier une partie de votre code, puis il sera ok.Regardez comment je le fais dans mon cas ci-dessous.Essayez de vous de cette façon..
Pour l'affichage d'une page web
Pour montrer HTML:
Voir ce tutoriel..
J'ai donné +1, parce que c'était à la fois une aide valable pour l'obtention de la webview pour travailler correctement, mais ce n'était pas la solution à mon problème.
Ce que je n'ai pas comprendre, c'est que j'avais un wrap_content sur l'include de mon webview disposition et cela a provoqué pour avoir une hauteur d'0px. Par cette définition fill_parent j'ai résolu le problème. (Webview avec un fond blanc et application avec un fond blanc, vous ne pouvez pas vraiment dire son pas toute la hauteur lorsqu'il s'affiche comme toute la hauteur dans le layout designer.)
Merci pour votre aide!
au lieu de passer null, vous devez passer un vide
String
. ex:""
Donc, vous devriez l'appeler comme ceci:
wview.loadDataWithBaseURL("", "<HTML><BODY><H3>Test</H3></BODY></HTML>","text/html","utf-8","");
clearView
est obsolète.Utilisation:
Je pense que Ce que vous avez besoin est WebViewClient. Après le réglage de webviewclient appel webview.loadUrl(_url);
Quelque chose comme ceci ....
changement wrap_content à fill_parent dans votre webview mise en page. il a travaillé pour moi
Vous pouvez utiliser le code suivant, ce sera utile:
Essayez d'augmenter la RAM pour votre périphérique émulé. Qui a résolu le problème pour moi.
J'ai trouvé ceci en regardant le logcat messages dans Android Moniteur (Android Studio). Les messages ci-dessous m'a donné l'idée à propos de ce qui n'allait pas à l'augmentation de RAM :