2010-04-02 40 views
9

Intentando crear una WebView pero solo muestra una página en blanco/blanco. He seguido varios ejemplos y todos ellos decir que el trabajo con este código ...Android WebView muestra una página en blanco

Aquí está mi código:

import android.app.Activity; 
import android.os.Bundle; 
import android.webkit.WebView; 

public class PostenWebView extends Activity { 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.web_view); 
     WebView webview = (WebView)findViewById(R.id.webview); 
     webview.loadUrl("http://www.google.com"); 
    } 
} 

Y aquí es el web_view.xml:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical"> 
    <WebView 
     android:id="@+id/webview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
    /> 
</LinearLayout> 
+1

Estoy teniendo este problema también. Mi código: \t \t mWebView = (WebView) findViewById (R.id.web_view); \t \t mWebView.getSettings(). SetJavaScriptEnabled (true); \t \t mWebView.getSettings(). SetSavePassword (false); \t \t url = "http://www.google.com "; \t \t \t mWebView.loadUrl (url); No muestra la página web hasta después de un cambio de orientación. Entonces la página aparece bien – Richard

+0

El mismo problema aquí. No muestra la página web hasta una orientación cambie o haga clic en la vista web. Luego la página se muestra bien. ¡Cualquier solución para esto! – user4500

Respuesta

3

Tienes que agregar el permiso a tu archivo AndroidManifest.xml.

<uses-permission 
     android:name="android.permission.INTERNET"></uses-permission> 
+4

Alreade hizo eso ... uso internet en varias otras actividades en mi aplicación y están funcionando bien, entonces eso no puede ser lo que está haciendo muestra una página en blanco ...:/ – Sara

+0

No sé nada más que esto. Asegúrate de tener el ícono 3G de la barra de tareas. Si haces esto en el emulador, reinícialo un par de veces para obtenerlo. – Pentium10

14

necesita habilitar Javascript (.getSettings().setJavaScriptEnabled(true)), o elegir una página Web que no se basa en Javascript.

+0

i Estoy tratando de leer el encabezado de la cuenta de Gmail utilizando http://stackoverflow.com/a/3134609/336990, pero htmlContent final que estoy recibiendo no ab le para cargar en la vista web ... mostrándome pantalla en blanco, si el mismo archivo de datos html ejecuto en el navegador me muestra para elegir mi cuenta de correo para permitir el acceso ... ¿por qué muestra la pantalla en blanco en el emulador – CoDe

+8

El problema no depende en Javascript está habilitado – miniBill

1

¡Encontré un ejemplo que finalmente funcionó! :)

https://apps-for-android.googlecode.com/svn/trunk/Samples/WebViewDemo/src/com/google/android/webviewdemo/WebViewDemo.java

Pero el problema también fue con la URL, cuando traté de ir a google.com a través de mi vista Web al instante en mi navegador abierto ordinaria en mi teléfono ... Pero otra URL del funcionaba bien :)

+3

La URL que ha proporcionado no existe a partir de ahora, ¿puede publicar su solución en otro lugar? – Darpan

+0

el enlace proporcionado está muerto – iancrowther

+0

trabajando ahora, gracias –

0

usted puede ser que se redirige .. sólo tiene que instalar un webviewclient allong contigo vista web :)

-2

la solución rápida y sucia puede ser cuando su obtener aplicaciones Android comenzó a establecer el color de fondo de acuerdo a la página we por ejemplo, estoy usando color negro así que myWebView.setBackgroundColor (Color.parseColor ("# 000000"));

+2

Esto no es una solución a su problema – miniBill

-3

si se intenta cargar una URL HTTPS (por ejemplo, URL de autenticación Foursquare) no se olvide de llamar

webview.clearSslPreferences();

antes de intentar cargar ese

+6

Ella no está tratando de cargar una URL https. Y usar ciegamente 'clearSslPreferences' es la receta para el desastre – miniBill

+1

¿Qué sucede si estamos cargando un sitio web https, esto es útil? ¿Qué problemas podría causar? – speedynomads

0

Podría ser que mientras que desea cargar www.google.com, la URL real es diferente (me intenté con www.google.com en el navegador y la URL final es ligeramente diferente). Existe un error conocido que no permitirá que una vista web cargue las URL con parámetros. También hay una solución.

No pude hacerlo funcionar sin embargo. Lo siento, no puedo encontrar los enlaces relevantes. Encontré el problema hace un tiempo.

1

Utilice webview.setLayerType (WebView.LAYER_TYPE_SOFTWARE, nulo); Método

+0

¡Me salvaste el día! Gracias. –

+2

¿Cuál fue el problema y cómo es que esto lo soluciona? – speedynomads

+0

Bueno, lo que está haciendo es cambiar la forma en que el procesador representa la página, en este caso, usar un procesador de software (la CPU), por qué eso realmente ayuda a algo que no tengo ni idea. –

2

Es funciona bien para mí

WebView webView = (WebView)findViewById(R.id.webView); 

webView.setWebViewClient(new WebViewClient() { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return false; 
    } 
}); 

webView.loadUrl("http://www.google.com"); 

buena suerte!

Cuestiones relacionadas