2009-12-23 19 views
11

Tengo una vista web con un banner y cuando hago clic en el banner debe abrir una segunda vista web que sigue el enlace. ¿Cómo puedo hacer eso? He creado el primer WebView y muestra mi banner, pero cuando hago clic en él, abre el enlace en el mismo WebView.Android WebView contacto evento enlace

¿Cómo puedo detectar cualquier evento en WebView cuando hago clic en un enlace que debería hacer algo (con ese enlace)? Al igual que shouldStartLoadWithRequest in iPhone.

Gracias,

Wouter

Respuesta

25

Puede supervisar los eventos de una WebView utilizando un WebViewClient. El método que desea es shouldOverrideUrlLoading(). Esto le permite realizar su propia acción cuando se selecciona una URL en particular.

Configura el WebViewClient de su WebView usando el setWebViewClient() method.

+0

bien, ¡estabas en lo correcto! GRACIAS – wouter88

+0

cómo usar shouldOverrideUrlLoading()? por favor da un código de muestra corto. –

+6

Tienes la solución ... Se escribe como esto "HelloWebViewClient clase privada se extiende WebViewClient {@ Override public boolean shouldOverrideUrlLoading (vista WebView, String url) { \t System.out.println (" URL DDD: "+ url.toString()); view.loadUrl (url); return true; } } " –

1

shouldOverrideUrlLoading buen método, pero si hace clic en current enlace webview cliente no llamando al método shouldOverrideUrlLoading.