2012-02-22 5 views
9

Comment ouvrir un lien dans une page Web vers une nouvelle activité (que contient WebView)?Comment ouvrir un lien WebView vers une nouvelle activité?

J'ai page Web où est la liste et chaque élément de la liste contient un lien différent. Donc, je veux que lorsque l'utilisateur appuie sur le premier élément, il ouvre la deuxième activité et charge ce lien vers WebView deuxième activité. J'espère que vous comprenez ce que j'essaie de demander :)

Est-ce possible?

Répondre

23

Vous pouvez remplacer les clics sur les liens URL et ouvrez une activité sur chaque 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

Comment puis-je obtenir ce lien et le transmettre à webView.loadUrl (url); (en deuxième activité)? – Eljas

+2

Vous pouvez transmettre l'URL en supplément avec votre intention. Ensuite, dans votre deuxième activité, vous pouvez extraire l'extra (URL) et créer un autre webview et charger cette URL. Voir ici pour plus d'informations sur les intentions et les extras: http://stackoverflow.com/questions/4233873/how-to-get-extra-data-from-intent-in-android – triad

+0

@triad: J'ai passé l'URL et j'ai compris dans la deuxième activité, mais webview.loadUrl (newurl), newurl n'est pas affiché ... – Ponmalar

0

Certains paramètres intéressant d'ajouter

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

);

Questions connexes