2012-02-22 15 views
9

¿Cómo abro el enlace en la página web a una actividad nueva (qué contiene WebView también)?¿Cómo abrir el enlace de WebView a una nueva actividad?

Tengo una página web donde está la lista y cada elemento de la lista contiene un enlace diferente. Por lo tanto, quiero que cuando el usuario presione el primer elemento, abra la segunda actividad y cargue ese vínculo en WebView de la segunda actividad. Espero que entiendas lo que trato de preguntar :)

¿Es esto posible?

Respuesta

23

Puede anular los clics de enlace de URL y abrir una actividad en cada clic:

webView = new WebView(this); 
    webView.setWebViewClient(new WebViewClient() 
     { 
      // Override URL 
      public boolean shouldOverrideUrlLoading(WebView view, String url) 
      { 
       Intent intent = new Intent(...); 
       startActivity(intent); 
       return true; 
      } 
     }); 
+0

¿Cómo obtengo ese enlace y lo paso a webView.loadUrl (url); (en la segunda actividad)? – Eljas

+2

Puede pasar la URL como un extra con su intención. Luego, en su segunda actividad, puede extraer el extra (URL) y crear otra vista web y cargar esa URL. Consulte aquí para obtener más información sobre intents y extras: http://stackoverflow.com/questions/4233873/how-to-get-extra-data-from-intent-in-android – triad

+0

@triad: pasé la URL y obtuve eso en la segunda actividad, pero webview.loadUrl (newurl), newurl no se muestra ... – Ponmalar

0

Algunos parámetros pena añadir

 mWebView.getSettings().setJavaScriptEnabled(true); 
     mWebView.getSettings().setLoadWithOverviewMode(true); 
     mWebView.getSettings().setUseWideViewPort(true); 
     mWebView.getSettings().setBuiltInZoomControls(true); 
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
      WebView.setWebContentsDebuggingEnabled(true); 
     } 
     mWebView.addJavascriptInterface(
       new WebAppInterface(mParentActivity.getApplicationContext()), 
       "Android"); 
     mWebView.setWebViewClient(new CustomWebViewClient() 

);

Cuestiones relacionadas