2012-02-22 12 views
9

Come si apre il collegamento nella pagina Web a una nuova attività (cosa contiene anche WebView)?Come si apre il collegamento WebView a una nuova attività?

Ho una pagina Web in cui è presente l'elenco e ogni elemento dell'elenco contiene un collegamento diverso. Quindi voglio che quando l'utente preme il primo oggetto apre la seconda attività e carica quel link alla WebView della seconda attività. Spero che tu capisca cosa cerco di chiedere :)

È possibile?

risposta

23

È possibile ignorare i link di clic URL e aprire un'attività su ogni click:

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

Come ottengo quel collegamento e lo passo a webView.loadUrl (url); (in seconda attività)? – Eljas

+2

Puoi inserire l'URL come extra con il tuo intento. Quindi nella tua seconda attività, puoi estrarre l'extra (URL) e creare un'altra webview e caricare quell'URL. Vedi qui per maggiori informazioni su intents ed extra: http://stackoverflow.com/questions/4233873/how-to-get-extra-data-from-intent-in-android – triad

+0

@triad: ho passato l'URL e ho capito in seconda attività, ma webview.loadUrl (newurl), newurl non viene visualizzato ... – Ponmalar

0

Alcuni parametri pena di aggiungere

 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() 

);

Problemi correlati